| Index: chrome/browser/gtk/certificate_viewer.cc
|
| diff --git a/chrome/browser/gtk/certificate_viewer.cc b/chrome/browser/gtk/certificate_viewer.cc
|
| index a4cc92bfb5a6fca469b9f1a7c042e71437134409..75a9d4a3a71b4fee72f1ada7a551aeb8291c54a0 100644
|
| --- a/chrome/browser/gtk/certificate_viewer.cc
|
| +++ b/chrome/browser/gtk/certificate_viewer.cc
|
| @@ -21,6 +21,7 @@
|
| #include "chrome/browser/gtk/gtk_util.h"
|
| #include "chrome/third_party/mozilla_security_manager/nsNSSCertHelper.h"
|
| #include "chrome/third_party/mozilla_security_manager/nsNSSCertificate.h"
|
| +#include "chrome/third_party/mozilla_security_manager/nsUsageArrayHelper.h"
|
| #include "grit/generated_resources.h"
|
|
|
| // PSM = Mozilla's Personal Security Manager.
|
| @@ -255,37 +256,14 @@ void CertificateViewer::InitGeneralPage() {
|
| l10n_util::GetStringUTF8(IDS_CERT_INFO_VERIFIED_USAGES_GROUP)),
|
| FALSE, FALSE, 0);
|
|
|
| - SECCertificateUsage usages = 0;
|
| - // TODO(wtc): See if we should use X509Certificate::Verify instead.
|
| - if (CERT_VerifyCertificateNow(CERT_GetDefaultCertDB(), cert, PR_TRUE,
|
| - certificateUsageCheckAllUsages,
|
| - NULL, &usages) == SECSuccess) {
|
| - // List of usages to display is borrowed from
|
| - // mozilla/source/security/manager/ssl/src/nsUsageArrayHelper.cpp
|
| - static const struct {
|
| - SECCertificateUsage usage;
|
| - int string_id;
|
| - } usage_string_map[] = {
|
| - {certificateUsageSSLClient, IDS_CERT_USAGE_SSL_CLIENT},
|
| - {certificateUsageSSLServer, IDS_CERT_USAGE_SSL_SERVER},
|
| - {certificateUsageSSLServerWithStepUp,
|
| - IDS_CERT_USAGE_SSL_SERVER_WITH_STEPUP},
|
| - {certificateUsageEmailSigner, IDS_CERT_USAGE_EMAIL_SIGNER},
|
| - {certificateUsageEmailRecipient, IDS_CERT_USAGE_EMAIL_RECEIVER},
|
| - {certificateUsageObjectSigner, IDS_CERT_USAGE_OBJECT_SIGNER},
|
| - {certificateUsageSSLCA, IDS_CERT_USAGE_SSL_CA},
|
| - {certificateUsageStatusResponder, IDS_CERT_USAGE_STATUS_RESPONDER},
|
| - };
|
| - for (size_t i = 0; i < ARRAYSIZE_UNSAFE(usage_string_map); ++i) {
|
| - if (usages & usage_string_map[i].usage)
|
| - gtk_box_pack_start(
|
| - GTK_BOX(uses_vbox),
|
| - gtk_util::IndentWidget(gtk_util::LeftAlignMisc(gtk_label_new(
|
| - l10n_util::GetStringUTF8(
|
| - usage_string_map[i].string_id).c_str()))),
|
| - FALSE, FALSE, 0);
|
| - }
|
| - }
|
| + std::vector<std::string> usages;
|
| + psm::GetCertUsageStrings(cert, &usages);
|
| + for (size_t i = 0; i < usages.size(); ++i)
|
| + gtk_box_pack_start(
|
| + GTK_BOX(uses_vbox),
|
| + gtk_util::IndentWidget(gtk_util::LeftAlignMisc(gtk_label_new(
|
| + usages[i].c_str()))),
|
| + FALSE, FALSE, 0);
|
|
|
| gtk_box_pack_start(GTK_BOX(general_page_vbox_), gtk_hseparator_new(),
|
| FALSE, FALSE, 0);
|
|
|