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

Unified Diff: chrome/browser/gtk/certificate_viewer.cc

Issue 661241: Linux: implement Client SSL Certificate selection UI (Closed)
Patch Set: fix views and chromeos builds hopefully Created 10 years, 10 months 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 side-by-side diff with in-line comments
Download patch
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);
« no previous file with comments | « chrome/browser/chromeos/login/login_manager_view.cc ('k') | chrome/browser/renderer_host/resource_dispatcher_host.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698