Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(48)

Side by Side Diff: chrome/browser/certificate_manager_model.cc

Issue 76653003: Don't use nss_util in CertificateManagerModel::IsHardwareBacked. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: hyphenate Created 7 years, 1 month ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. 1 // Copyright (c) 2012 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 "chrome/browser/certificate_manager_model.h" 5 #include "chrome/browser/certificate_manager_model.h"
6 6
7 #include "base/bind.h" 7 #include "base/bind.h"
8 #include "base/i18n/time_formatting.h" 8 #include "base/i18n/time_formatting.h"
9 #include "base/logging.h" 9 #include "base/logging.h"
10 #include "base/strings/utf_string_conversions.h" 10 #include "base/strings/utf_string_conversions.h"
11 #include "chrome/browser/ui/crypto_module_password_dialog.h" 11 #include "chrome/browser/ui/crypto_module_password_dialog.h"
12 #include "chrome/common/net/x509_certificate_model.h" 12 #include "chrome/common/net/x509_certificate_model.h"
13 #include "grit/generated_resources.h"
13 #include "net/base/crypto_module.h" 14 #include "net/base/crypto_module.h"
14 #include "net/base/net_errors.h" 15 #include "net/base/net_errors.h"
15 #include "net/cert/x509_certificate.h" 16 #include "net/cert/x509_certificate.h"
16
17 #if defined(OS_CHROMEOS)
18 #include <cert.h>
19
20 #include "crypto/nss_util.h"
21 #include "grit/generated_resources.h"
22 #include "ui/base/l10n/l10n_util.h" 17 #include "ui/base/l10n/l10n_util.h"
23 #endif
24 18
25 CertificateManagerModel::CertificateManagerModel(Observer* observer) 19 CertificateManagerModel::CertificateManagerModel(Observer* observer)
26 : cert_db_(net::NSSCertDatabase::GetInstance()), 20 : cert_db_(net::NSSCertDatabase::GetInstance()),
27 observer_(observer) { 21 observer_(observer) {
28 } 22 }
29 23
30 CertificateManagerModel::~CertificateManagerModel() { 24 CertificateManagerModel::~CertificateManagerModel() {
31 } 25 }
32 26
33 void CertificateManagerModel::Refresh() { 27 void CertificateManagerModel::Refresh() {
(...skipping 40 matching lines...) Expand 10 before | Expand all | Expand 10 after
74 68
75 string16 CertificateManagerModel::GetColumnText( 69 string16 CertificateManagerModel::GetColumnText(
76 const net::X509Certificate& cert, 70 const net::X509Certificate& cert,
77 Column column) const { 71 Column column) const {
78 string16 rv; 72 string16 rv;
79 switch (column) { 73 switch (column) {
80 case COL_SUBJECT_NAME: 74 case COL_SUBJECT_NAME:
81 rv = UTF8ToUTF16( 75 rv = UTF8ToUTF16(
82 x509_certificate_model::GetCertNameOrNickname(cert.os_cert_handle())); 76 x509_certificate_model::GetCertNameOrNickname(cert.os_cert_handle()));
83 77
84 #if defined(OS_CHROMEOS)
85 // TODO(xiyuan): Put this into a column when we have js tree-table. 78 // TODO(xiyuan): Put this into a column when we have js tree-table.
86 if (IsHardwareBacked(&cert)) { 79 if (IsHardwareBacked(&cert)) {
87 rv = l10n_util::GetStringFUTF16( 80 rv = l10n_util::GetStringFUTF16(
88 IDS_CERT_MANAGER_HARDWARE_BACKED_KEY_FORMAT, 81 IDS_CERT_MANAGER_HARDWARE_BACKED_KEY_FORMAT,
89 rv, 82 rv,
90 l10n_util::GetStringUTF16(IDS_CERT_MANAGER_HARDWARE_BACKED)); 83 l10n_util::GetStringUTF16(IDS_CERT_MANAGER_HARDWARE_BACKED));
91 } 84 }
92 #endif
93 break; 85 break;
94 case COL_CERTIFICATE_STORE: 86 case COL_CERTIFICATE_STORE:
95 rv = UTF8ToUTF16( 87 rv = UTF8ToUTF16(
96 x509_certificate_model::GetTokenName(cert.os_cert_handle())); 88 x509_certificate_model::GetTokenName(cert.os_cert_handle()));
97 break; 89 break;
98 case COL_SERIAL_NUMBER: 90 case COL_SERIAL_NUMBER:
99 rv = ASCIIToUTF16(x509_certificate_model::GetSerialNumberHexified( 91 rv = ASCIIToUTF16(x509_certificate_model::GetSerialNumberHexified(
100 cert.os_cert_handle(), std::string())); 92 cert.os_cert_handle(), std::string()));
101 break; 93 break;
102 case COL_EXPIRES_ON: 94 case COL_EXPIRES_ON:
(...skipping 47 matching lines...) Expand 10 before | Expand all | Expand 10 after
150 142
151 bool CertificateManagerModel::Delete(net::X509Certificate* cert) { 143 bool CertificateManagerModel::Delete(net::X509Certificate* cert) {
152 bool result = cert_db_->DeleteCertAndKey(cert); 144 bool result = cert_db_->DeleteCertAndKey(cert);
153 if (result) 145 if (result)
154 Refresh(); 146 Refresh();
155 return result; 147 return result;
156 } 148 }
157 149
158 bool CertificateManagerModel::IsHardwareBacked( 150 bool CertificateManagerModel::IsHardwareBacked(
159 const net::X509Certificate* cert) const { 151 const net::X509Certificate* cert) const {
160 #if defined(OS_CHROMEOS) 152 return cert_db_->IsHardwareBacked(cert);
161 return crypto::IsTPMTokenReady() &&
162 cert->os_cert_handle()->slot ==
163 cert_db_->GetPrivateModule()->os_module_handle();
164 #else
165 return false;
166 #endif
167 } 153 }
OLDNEW
« no previous file with comments | « chrome/browser/certificate_manager_model.h ('k') | chrome/browser/ui/webui/options/certificate_manager_handler.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698