| OLD | NEW |
| 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2010 The Chromium Authors. All rights reserved. |
| 2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
| 3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
| 4 | 4 |
| 5 #include "content/browser/certificate_manager_model.h" | 5 #include "content/browser/certificate_manager_model.h" |
| 6 | 6 |
| 7 #include "base/i18n/time_formatting.h" | 7 #include "base/i18n/time_formatting.h" |
| 8 #include "base/logging.h" | 8 #include "base/logging.h" |
| 9 #include "base/utf_string_conversions.h" | 9 #include "base/utf_string_conversions.h" |
| 10 #include "chrome/browser/ui/crypto_module_password_dialog.h" |
| 10 #include "chrome/common/net/x509_certificate_model.h" | 11 #include "chrome/common/net/x509_certificate_model.h" |
| 12 #include "net/base/crypto_module.h" |
| 11 #include "net/base/net_errors.h" | 13 #include "net/base/net_errors.h" |
| 12 #include "net/base/x509_certificate.h" | 14 #include "net/base/x509_certificate.h" |
| 13 | 15 |
| 14 CertificateManagerModel::CertificateManagerModel(Observer* observer) | 16 CertificateManagerModel::CertificateManagerModel(Observer* observer) |
| 15 : observer_(observer) { | 17 : observer_(observer) { |
| 16 } | 18 } |
| 17 | 19 |
| 18 CertificateManagerModel::~CertificateManagerModel() { | 20 CertificateManagerModel::~CertificateManagerModel() { |
| 19 } | 21 } |
| 20 | 22 |
| 21 void CertificateManagerModel::Refresh() { | 23 void CertificateManagerModel::Refresh() { |
| 22 VLOG(1) << "refresh started"; | 24 VLOG(1) << "refresh started"; |
| 25 net::CryptoModuleList modules; |
| 26 cert_db_.ListModules(&modules, false); |
| 27 VLOG(1) << "refresh waiting for unlocking..."; |
| 28 browser::UnlockSlotsIfNecessary( |
| 29 modules, |
| 30 browser::kCryptoModulePasswordListCerts, |
| 31 "", // unused. |
| 32 NewCallback(this, |
| 33 &CertificateManagerModel::RefreshSlotsUnlocked)); |
| 34 } |
| 35 |
| 36 void CertificateManagerModel::RefreshSlotsUnlocked() { |
| 37 VLOG(1) << "refresh listing certs..."; |
| 23 cert_db_.ListCerts(&cert_list_); | 38 cert_db_.ListCerts(&cert_list_); |
| 24 observer_->CertificatesRefreshed(); | 39 observer_->CertificatesRefreshed(); |
| 25 VLOG(1) << "refresh finished"; | 40 VLOG(1) << "refresh finished"; |
| 26 } | 41 } |
| 27 | 42 |
| 28 void CertificateManagerModel::FilterAndBuildOrgGroupingMap( | 43 void CertificateManagerModel::FilterAndBuildOrgGroupingMap( |
| 29 net::CertType filter_type, | 44 net::CertType filter_type, |
| 30 CertificateManagerModel::OrgGroupingMap* map) const { | 45 CertificateManagerModel::OrgGroupingMap* map) const { |
| 31 for (net::CertificateList::const_iterator i = cert_list_.begin(); | 46 for (net::CertificateList::const_iterator i = cert_list_.begin(); |
| 32 i != cert_list_.end(); ++i) { | 47 i != cert_list_.end(); ++i) { |
| (...skipping 74 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
| 107 unsigned int trust_bits) { | 122 unsigned int trust_bits) { |
| 108 return cert_db_.SetCertTrust(cert, type, trust_bits); | 123 return cert_db_.SetCertTrust(cert, type, trust_bits); |
| 109 } | 124 } |
| 110 | 125 |
| 111 bool CertificateManagerModel::Delete(net::X509Certificate* cert) { | 126 bool CertificateManagerModel::Delete(net::X509Certificate* cert) { |
| 112 bool result = cert_db_.DeleteCertAndKey(cert); | 127 bool result = cert_db_.DeleteCertAndKey(cert); |
| 113 if (result) | 128 if (result) |
| 114 Refresh(); | 129 Refresh(); |
| 115 return result; | 130 return result; |
| 116 } | 131 } |
| OLD | NEW |