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

Side by Side Diff: chrome/third_party/mozilla_security_manager/nsNSSCertHelper.cpp

Issue 7313019: Actually call psm::RegisterDynamicOids(). (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src/
Patch Set: Created 9 years, 5 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 unified diff | Download patch | Annotate | Revision Log
« no previous file with comments | « chrome/common/net/x509_certificate_model_nss.cc ('k') | no next file » | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
1 /* ***** BEGIN LICENSE BLOCK ***** 1 /* ***** BEGIN LICENSE BLOCK *****
2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1 2 * Version: MPL 1.1/GPL 2.0/LGPL 2.1
3 * 3 *
4 * The contents of this file are subject to the Mozilla Public License Version 4 * The contents of this file are subject to the Mozilla Public License Version
5 * 1.1 (the "License"); you may not use this file except in compliance with 5 * 1.1 (the "License"); you may not use this file except in compliance with
6 * the License. You may obtain a copy of the License at 6 * the License. You may obtain a copy of the License at
7 * http://www.mozilla.org/MPL/ 7 * http://www.mozilla.org/MPL/
8 * 8 *
9 * Software distributed under the License is distributed on an "AS IS" basis, 9 * Software distributed under the License is distributed on an "AS IS" basis,
10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License 10 * WITHOUT WARRANTY OF ANY KIND, either express or implied. See the License
(...skipping 99 matching lines...) Expand 10 before | Expand all | Expand 10 after
110 SECOidTag eku_ms_encrypting_file_system = SEC_OID_UNKNOWN; 110 SECOidTag eku_ms_encrypting_file_system = SEC_OID_UNKNOWN;
111 SECOidTag eku_ms_file_recovery = SEC_OID_UNKNOWN; 111 SECOidTag eku_ms_file_recovery = SEC_OID_UNKNOWN;
112 SECOidTag eku_ms_windows_hardware_driver_verification = SEC_OID_UNKNOWN; 112 SECOidTag eku_ms_windows_hardware_driver_verification = SEC_OID_UNKNOWN;
113 SECOidTag eku_ms_qualified_subordination = SEC_OID_UNKNOWN; 113 SECOidTag eku_ms_qualified_subordination = SEC_OID_UNKNOWN;
114 SECOidTag eku_ms_key_recovery = SEC_OID_UNKNOWN; 114 SECOidTag eku_ms_key_recovery = SEC_OID_UNKNOWN;
115 SECOidTag eku_ms_document_signing = SEC_OID_UNKNOWN; 115 SECOidTag eku_ms_document_signing = SEC_OID_UNKNOWN;
116 SECOidTag eku_ms_lifetime_signing = SEC_OID_UNKNOWN; 116 SECOidTag eku_ms_lifetime_signing = SEC_OID_UNKNOWN;
117 SECOidTag eku_ms_smart_card_logon = SEC_OID_UNKNOWN; 117 SECOidTag eku_ms_smart_card_logon = SEC_OID_UNKNOWN;
118 SECOidTag eku_ms_key_recovery_agent = SEC_OID_UNKNOWN; 118 SECOidTag eku_ms_key_recovery_agent = SEC_OID_UNKNOWN;
119 SECOidTag eku_netscape_international_step_up = SEC_OID_UNKNOWN; 119 SECOidTag eku_netscape_international_step_up = SEC_OID_UNKNOWN;
120 SECOidTag cert_attribute_business_category = SEC_OID_UNKNOWN;
121 SECOidTag cert_attribute_ev_incorporation_country = SEC_OID_UNKNOWN;
120 122
121 void RegisterDynamicOids() { 123 void RegisterDynamicOids() {
122 if (ms_cert_ext_certtype != SEC_OID_UNKNOWN) 124 if (ms_cert_ext_certtype != SEC_OID_UNKNOWN)
123 return; 125 return;
124 126
125 ms_cert_ext_certtype = RegisterDynamicOid("1.3.6.1.4.1.311.20.2"); 127 ms_cert_ext_certtype = RegisterDynamicOid("1.3.6.1.4.1.311.20.2");
126 ms_certsrv_ca_version = RegisterDynamicOid("1.3.6.1.4.1.311.21.1"); 128 ms_certsrv_ca_version = RegisterDynamicOid("1.3.6.1.4.1.311.21.1");
127 ms_nt_principal_name = RegisterDynamicOid("1.3.6.1.4.1.311.20.2.3"); 129 ms_nt_principal_name = RegisterDynamicOid("1.3.6.1.4.1.311.20.2.3");
128 ms_nt_principal_name = RegisterDynamicOid("1.3.6.1.4.1.311.25.1"); 130 ms_ntds_replication = RegisterDynamicOid("1.3.6.1.4.1.311.25.1");
wtc 2011/07/07 02:22:50 This must have been a copy-and-paste error.
129 131
130 eku_ms_individual_code_signing = RegisterDynamicOid("1.3.6.1.4.1.311.2.1.21"); 132 eku_ms_individual_code_signing = RegisterDynamicOid("1.3.6.1.4.1.311.2.1.21");
131 eku_ms_commercial_code_signing = RegisterDynamicOid("1.3.6.1.4.1.311.2.1.22"); 133 eku_ms_commercial_code_signing = RegisterDynamicOid("1.3.6.1.4.1.311.2.1.22");
132 eku_ms_trust_list_signing = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.1"); 134 eku_ms_trust_list_signing = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.1");
133 eku_ms_time_stamping = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.2"); 135 eku_ms_time_stamping = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.2");
134 eku_ms_server_gated_crypto = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.3"); 136 eku_ms_server_gated_crypto = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.3");
135 eku_ms_encrypting_file_system = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.4"); 137 eku_ms_encrypting_file_system = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.4");
136 eku_ms_file_recovery = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.4.1"); 138 eku_ms_file_recovery = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.4.1");
137 eku_ms_windows_hardware_driver_verification = RegisterDynamicOid( 139 eku_ms_windows_hardware_driver_verification = RegisterDynamicOid(
138 "1.3.6.1.4.1.311.10.3.5"); 140 "1.3.6.1.4.1.311.10.3.5");
139 eku_ms_qualified_subordination = RegisterDynamicOid( 141 eku_ms_qualified_subordination = RegisterDynamicOid(
140 "1.3.6.1.4.1.311.10.3.10"); 142 "1.3.6.1.4.1.311.10.3.10");
141 eku_ms_key_recovery = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.11"); 143 eku_ms_key_recovery = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.11");
142 eku_ms_document_signing = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.12"); 144 eku_ms_document_signing = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.12");
143 eku_ms_lifetime_signing = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.13"); 145 eku_ms_lifetime_signing = RegisterDynamicOid("1.3.6.1.4.1.311.10.3.13");
144 eku_ms_smart_card_logon = RegisterDynamicOid("1.3.6.1.4.1.311.20.2.2"); 146 eku_ms_smart_card_logon = RegisterDynamicOid("1.3.6.1.4.1.311.20.2.2");
145 eku_ms_key_recovery_agent = RegisterDynamicOid("1.3.6.1.4.1.311.21.6"); 147 eku_ms_key_recovery_agent = RegisterDynamicOid("1.3.6.1.4.1.311.21.6");
146 eku_netscape_international_step_up = RegisterDynamicOid( 148 eku_netscape_international_step_up = RegisterDynamicOid(
147 "2.16.840.1.113730.4.1"); 149 "2.16.840.1.113730.4.1");
150
151 // These two OIDs will be built-in as SEC_OID_BUSINESS_CATEGORY and
152 // SEC_OID_EV_INCORPORATION_COUNTRY starting in NSS 3.13. Until then,
153 // we need to add them dynamically.
154 cert_attribute_business_category = RegisterDynamicOid("2.5.4.15");
155 cert_attribute_ev_incorporation_country = RegisterDynamicOid(
156 "1.3.6.1.4.1.311.60.2.1.3");
148 } 157 }
149 158
150 std::string DumpOidString(SECItem* oid) { 159 std::string DumpOidString(SECItem* oid) {
151 char* pr_string = CERT_GetOidString(oid); 160 char* pr_string = CERT_GetOidString(oid);
152 if (pr_string) { 161 if (pr_string) {
153 std::string rv = pr_string; 162 std::string rv = pr_string;
154 PR_smprintf_free(pr_string); 163 PR_smprintf_free(pr_string);
155 return rv; 164 return rv;
156 } 165 }
157 166
(...skipping 153 matching lines...) Expand 10 before | Expand all | Expand 10 after
311 break; 320 break;
312 case SEC_OID_OCSP_RESPONDER: 321 case SEC_OID_OCSP_RESPONDER:
313 string_id = IDS_CERT_EKU_OCSP_SIGNING; 322 string_id = IDS_CERT_EKU_OCSP_SIGNING;
314 break; 323 break;
315 case SEC_OID_PKIX_CPS_POINTER_QUALIFIER: 324 case SEC_OID_PKIX_CPS_POINTER_QUALIFIER:
316 string_id = IDS_CERT_PKIX_CPS_POINTER_QUALIFIER; 325 string_id = IDS_CERT_PKIX_CPS_POINTER_QUALIFIER;
317 break; 326 break;
318 case SEC_OID_PKIX_USER_NOTICE_QUALIFIER: 327 case SEC_OID_PKIX_USER_NOTICE_QUALIFIER:
319 string_id = IDS_CERT_PKIX_USER_NOTICE_QUALIFIER; 328 string_id = IDS_CERT_PKIX_USER_NOTICE_QUALIFIER;
320 break; 329 break;
330 case SEC_OID_UNKNOWN:
331 string_id = -1;
332 break;
wtc 2011/07/07 02:22:50 With this SEC_OID_UNKNOWN case alone, the certific
321 333
322 // There are a billionty other OIDs we could add here. I tried to get the 334 // There are a billionty other OIDs we could add here. I tried to get the
323 // important ones... 335 // important ones...
324 default: 336 default:
325 if (oid_tag == ms_cert_ext_certtype) 337 if (oid_tag == ms_cert_ext_certtype)
326 string_id = IDS_CERT_EXT_MS_CERT_TYPE; 338 string_id = IDS_CERT_EXT_MS_CERT_TYPE;
327 else if (oid_tag == ms_certsrv_ca_version) 339 else if (oid_tag == ms_certsrv_ca_version)
328 string_id = IDS_CERT_EXT_MS_CA_VERSION; 340 string_id = IDS_CERT_EXT_MS_CA_VERSION;
329 else if (oid_tag == ms_nt_principal_name) 341 else if (oid_tag == ms_nt_principal_name)
330 string_id = IDS_CERT_EXT_MS_NT_PRINCIPAL_NAME; 342 string_id = IDS_CERT_EXT_MS_NT_PRINCIPAL_NAME;
(...skipping 22 matching lines...) Expand all
353 else if (oid_tag == eku_ms_document_signing) 365 else if (oid_tag == eku_ms_document_signing)
354 string_id = IDS_CERT_EKU_MS_DOCUMENT_SIGNING; 366 string_id = IDS_CERT_EKU_MS_DOCUMENT_SIGNING;
355 else if (oid_tag == eku_ms_lifetime_signing) 367 else if (oid_tag == eku_ms_lifetime_signing)
356 string_id = IDS_CERT_EKU_MS_LIFETIME_SIGNING; 368 string_id = IDS_CERT_EKU_MS_LIFETIME_SIGNING;
357 else if (oid_tag == eku_ms_smart_card_logon) 369 else if (oid_tag == eku_ms_smart_card_logon)
358 string_id = IDS_CERT_EKU_MS_SMART_CARD_LOGON; 370 string_id = IDS_CERT_EKU_MS_SMART_CARD_LOGON;
359 else if (oid_tag == eku_ms_key_recovery_agent) 371 else if (oid_tag == eku_ms_key_recovery_agent)
360 string_id = IDS_CERT_EKU_MS_KEY_RECOVERY_AGENT; 372 string_id = IDS_CERT_EKU_MS_KEY_RECOVERY_AGENT;
361 else if (oid_tag == eku_netscape_international_step_up) 373 else if (oid_tag == eku_netscape_international_step_up)
362 string_id = IDS_CERT_EKU_NETSCAPE_INTERNATIONAL_STEP_UP; 374 string_id = IDS_CERT_EKU_NETSCAPE_INTERNATIONAL_STEP_UP;
375 else if (oid_tag == cert_attribute_business_category)
376 string_id = IDS_CERT_OID_BUSINESS_CATEGORY;
377 else if (oid_tag == cert_attribute_ev_incorporation_country)
378 string_id = IDS_CERT_OID_EV_INCORPORATION_COUNTRY;
363 else 379 else
364 string_id = -1; 380 string_id = -1;
365 break; 381 break;
366 } 382 }
367 if (string_id >= 0) 383 if (string_id >= 0)
368 return l10n_util::GetStringUTF8(string_id); 384 return l10n_util::GetStringUTF8(string_id);
369 385
370 return DumpOidString(oid); 386 return DumpOidString(oid);
371 } 387 }
372 388
(...skipping 669 matching lines...) Expand 10 before | Expand all | Expand 10 after
1042 if (trust.HasAnyCA()) 1058 if (trust.HasAnyCA())
1043 return net::CA_CERT; 1059 return net::CA_CERT;
1044 if (trust.HasPeer(PR_TRUE, PR_FALSE, PR_FALSE)) 1060 if (trust.HasPeer(PR_TRUE, PR_FALSE, PR_FALSE))
1045 return net::SERVER_CERT; 1061 return net::SERVER_CERT;
1046 if (CERT_IsCACert(cert, NULL)) 1062 if (CERT_IsCACert(cert, NULL))
1047 return net::CA_CERT; 1063 return net::CA_CERT;
1048 return net::UNKNOWN_CERT; 1064 return net::UNKNOWN_CERT;
1049 } 1065 }
1050 1066
1051 } // namespace mozilla_security_manager 1067 } // namespace mozilla_security_manager
OLDNEW
« no previous file with comments | « chrome/common/net/x509_certificate_model_nss.cc ('k') | no next file » | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698