OLD | NEW |
---|---|
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 Loading... | |
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 |
OLD | NEW |