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

Side by Side Diff: net/cert/ev_root_ca_metadata.cc

Issue 266243004: Clang format slam. Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Created 6 years, 7 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
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 "net/cert/ev_root_ca_metadata.h" 5 #include "net/cert/ev_root_ca_metadata.h"
6 6
7 #if defined(USE_NSS) || defined(OS_IOS) 7 #if defined(USE_NSS) || defined(OS_IOS)
8 #include <cert.h> 8 #include <cert.h>
9 #include <pkcs11n.h> 9 #include <pkcs11n.h>
10 #include <secerr.h> 10 #include <secerr.h>
(...skipping 23 matching lines...) Expand all
34 34
35 // The SHA-1 fingerprint of the root CA certificate, used as a unique 35 // The SHA-1 fingerprint of the root CA certificate, used as a unique
36 // identifier for a root CA certificate. 36 // identifier for a root CA certificate.
37 SHA1HashValue fingerprint; 37 SHA1HashValue fingerprint;
38 38
39 // The EV policy OIDs of the root CA. 39 // The EV policy OIDs of the root CA.
40 const char policy_oids[kMaxOIDsPerCA][kMaxOIDLength]; 40 const char policy_oids[kMaxOIDsPerCA][kMaxOIDLength];
41 }; 41 };
42 42
43 static const EVMetadata ev_root_ca_metadata[] = { 43 static const EVMetadata ev_root_ca_metadata[] = {
44 // AC Camerfirma S.A. Chambers of Commerce Root - 2008 44 // AC Camerfirma S.A. Chambers of Commerce Root - 2008
45 // https://www.camerfirma.com 45 // https://www.camerfirma.com
46 { { { 0x78, 0x6a, 0x74, 0xac, 0x76, 0xab, 0x14, 0x7f, 0x9c, 0x6a, 46 {
47 0x30, 0x50, 0xba, 0x9e, 0xa8, 0x7e, 0xfe, 0x9a, 0xce, 0x3c } }, 47 {{0x78, 0x6a, 0x74, 0xac, 0x76, 0xab, 0x14, 0x7f, 0x9c, 0x6a, 0x30, 0x50,
48 { // AC Camerfirma uses the last two arcs to track how the private key is 48 0xba, 0x9e, 0xa8, 0x7e, 0xfe, 0x9a, 0xce, 0x3c}},
49 {// AC Camerfirma uses the last two arcs to track how the private key is
49 // managed - the effective verification policy is the same. 50 // managed - the effective verification policy is the same.
50 "1.3.6.1.4.1.17326.10.14.2.1.2", 51 "1.3.6.1.4.1.17326.10.14.2.1.2", "1.3.6.1.4.1.17326.10.14.2.2.2",
51 "1.3.6.1.4.1.17326.10.14.2.2.2", }, 52 },
52 }, 53 },
53 // AC Camerfirma S.A. Global Chambersign Root - 2008 54 // AC Camerfirma S.A. Global Chambersign Root - 2008
54 // https://server2.camerfirma.com:8082 55 // https://server2.camerfirma.com:8082
55 { { { 0x4a, 0xbd, 0xee, 0xec, 0x95, 0x0d, 0x35, 0x9c, 0x89, 0xae, 56 {
56 0xc7, 0x52, 0xa1, 0x2c, 0x5b, 0x29, 0xf6, 0xd6, 0xaa, 0x0c } }, 57 {{0x4a, 0xbd, 0xee, 0xec, 0x95, 0x0d, 0x35, 0x9c, 0x89, 0xae, 0xc7, 0x52,
57 { // AC Camerfirma uses the last two arcs to track how the private key is 58 0xa1, 0x2c, 0x5b, 0x29, 0xf6, 0xd6, 0xaa, 0x0c}},
59 {// AC Camerfirma uses the last two arcs to track how the private key is
58 // managed - the effective verification policy is the same. 60 // managed - the effective verification policy is the same.
59 "1.3.6.1.4.1.17326.10.8.12.1.2", 61 "1.3.6.1.4.1.17326.10.8.12.1.2", "1.3.6.1.4.1.17326.10.8.12.2.2",
60 "1.3.6.1.4.1.17326.10.8.12.2.2", }, 62 },
61 }, 63 },
62 // AddTrust External CA Root 64 // AddTrust External CA Root
63 // https://addtrustexternalcaroot-ev.comodoca.com 65 // https://addtrustexternalcaroot-ev.comodoca.com
64 { { { 0x02, 0xfa, 0xf3, 0xe2, 0x91, 0x43, 0x54, 0x68, 0x60, 0x78, 66 {
65 0x57, 0x69, 0x4d, 0xf5, 0xe4, 0x5b, 0x68, 0x85, 0x18, 0x68 } }, 67 {{0x02, 0xfa, 0xf3, 0xe2, 0x91, 0x43, 0x54, 0x68, 0x60, 0x78, 0x57, 0x69,
66 { 68 0x4d, 0xf5, 0xe4, 0x5b, 0x68, 0x85, 0x18, 0x68}},
69 {
67 "1.3.6.1.4.1.6449.1.2.1.5.1", 70 "1.3.6.1.4.1.6449.1.2.1.5.1",
68 // This is the Network Solutions EV OID. However, this root 71 // This is the Network Solutions EV OID. However, this root
69 // cross-certifies NetSol and so we need it here too. 72 // cross-certifies NetSol and so we need it here too.
70 "1.3.6.1.4.1.782.1.2.1.8.1", 73 "1.3.6.1.4.1.782.1.2.1.8.1",
71 }, 74 },
72 }, 75 },
73 // AffirmTrust Commercial 76 // AffirmTrust Commercial
74 // https://commercial.affirmtrust.com/ 77 // https://commercial.affirmtrust.com/
75 { { { 0xf9, 0xb5, 0xb6, 0x32, 0x45, 0x5f, 0x9c, 0xbe, 0xec, 0x57, 78 {
76 0x5f, 0x80, 0xdc, 0xe9, 0x6e, 0x2c, 0xc7, 0xb2, 0x78, 0xb7 } }, 79 {{0xf9, 0xb5, 0xb6, 0x32, 0x45, 0x5f, 0x9c, 0xbe, 0xec, 0x57, 0x5f, 0x80,
77 {"1.3.6.1.4.1.34697.2.1", ""}, 80 0xdc, 0xe9, 0x6e, 0x2c, 0xc7, 0xb2, 0x78, 0xb7}},
78 }, 81 {"1.3.6.1.4.1.34697.2.1", ""},
79 // AffirmTrust Networking 82 },
80 // https://networking.affirmtrust.com:4431 83 // AffirmTrust Networking
81 { { { 0x29, 0x36, 0x21, 0x02, 0x8b, 0x20, 0xed, 0x02, 0xf5, 0x66, 84 // https://networking.affirmtrust.com:4431
82 0xc5, 0x32, 0xd1, 0xd6, 0xed, 0x90, 0x9f, 0x45, 0x00, 0x2f } }, 85 {
83 {"1.3.6.1.4.1.34697.2.2", ""}, 86 {{0x29, 0x36, 0x21, 0x02, 0x8b, 0x20, 0xed, 0x02, 0xf5, 0x66, 0xc5, 0x32,
84 }, 87 0xd1, 0xd6, 0xed, 0x90, 0x9f, 0x45, 0x00, 0x2f}},
85 // AffirmTrust Premium 88 {"1.3.6.1.4.1.34697.2.2", ""},
86 // https://premium.affirmtrust.com:4432/ 89 },
87 { { { 0xd8, 0xa6, 0x33, 0x2c, 0xe0, 0x03, 0x6f, 0xb1, 0x85, 0xf6, 90 // AffirmTrust Premium
88 0x63, 0x4f, 0x7d, 0x6a, 0x06, 0x65, 0x26, 0x32, 0x28, 0x27 } }, 91 // https://premium.affirmtrust.com:4432/
89 {"1.3.6.1.4.1.34697.2.3", ""}, 92 {
90 }, 93 {{0xd8, 0xa6, 0x33, 0x2c, 0xe0, 0x03, 0x6f, 0xb1, 0x85, 0xf6, 0x63, 0x4f,
91 // AffirmTrust Premium ECC 94 0x7d, 0x6a, 0x06, 0x65, 0x26, 0x32, 0x28, 0x27}},
92 // https://premiumecc.affirmtrust.com:4433/ 95 {"1.3.6.1.4.1.34697.2.3", ""},
93 { { { 0xb8, 0x23, 0x6b, 0x00, 0x2f, 0x1d, 0x16, 0x86, 0x53, 0x01, 96 },
94 0x55, 0x6c, 0x11, 0xa4, 0x37, 0xca, 0xeb, 0xff, 0xc3, 0xbb } }, 97 // AffirmTrust Premium ECC
95 {"1.3.6.1.4.1.34697.2.4", ""}, 98 // https://premiumecc.affirmtrust.com:4433/
96 }, 99 {
97 // Buypass Class 3 CA 1 100 {{0xb8, 0x23, 0x6b, 0x00, 0x2f, 0x1d, 0x16, 0x86, 0x53, 0x01, 0x55, 0x6c,
98 // https://valid.evident.ca13.ssl.buypass.no/ 101 0x11, 0xa4, 0x37, 0xca, 0xeb, 0xff, 0xc3, 0xbb}},
99 { { { 0x61, 0x57, 0x3A, 0x11, 0xDF, 0x0E, 0xD8, 0x7E, 0xD5, 0x92, 102 {"1.3.6.1.4.1.34697.2.4", ""},
100 0x65, 0x22, 0xEA, 0xD0, 0x56, 0xD7, 0x44, 0xB3, 0x23, 0x71 } }, 103 },
101 {"2.16.578.1.26.1.3.3", ""}, 104 // Buypass Class 3 CA 1
102 }, 105 // https://valid.evident.ca13.ssl.buypass.no/
103 // Buypass Class 3 Root CA 106 {
104 // https://valid.evident.ca23.ssl.buypass.no/ 107 {{0x61, 0x57, 0x3A, 0x11, 0xDF, 0x0E, 0xD8, 0x7E, 0xD5, 0x92, 0x65, 0x22,
105 { { { 0xDA, 0xFA, 0xF7, 0xFA, 0x66, 0x84, 0xEC, 0x06, 0x8F, 0x14, 108 0xEA, 0xD0, 0x56, 0xD7, 0x44, 0xB3, 0x23, 0x71}},
106 0x50, 0xBD, 0xC7, 0xC2, 0x81, 0xA5, 0xBC, 0xA9, 0x64, 0x57 } }, 109 {"2.16.578.1.26.1.3.3", ""},
107 {"2.16.578.1.26.1.3.3", ""}, 110 },
108 }, 111 // Buypass Class 3 Root CA
109 // CertPlus Class 2 Primary CA (KEYNECTIS) 112 // https://valid.evident.ca23.ssl.buypass.no/
110 // https://www.keynectis.com/ 113 {
111 { { { 0x74, 0x20, 0x74, 0x41, 0x72, 0x9c, 0xdd, 0x92, 0xec, 0x79, 114 {{0xDA, 0xFA, 0xF7, 0xFA, 0x66, 0x84, 0xEC, 0x06, 0x8F, 0x14, 0x50, 0xBD,
112 0x31, 0xd8, 0x23, 0x10, 0x8d, 0xc2, 0x81, 0x92, 0xe2, 0xbb } }, 115 0xC7, 0xC2, 0x81, 0xA5, 0xBC, 0xA9, 0x64, 0x57}},
113 {"1.3.6.1.4.1.22234.2.5.2.3.1", ""}, 116 {"2.16.578.1.26.1.3.3", ""},
114 }, 117 },
115 // Certum Trusted Network CA 118 // CertPlus Class 2 Primary CA (KEYNECTIS)
116 // https://juice.certum.pl/ 119 // https://www.keynectis.com/
117 { { { 0x07, 0xe0, 0x32, 0xe0, 0x20, 0xb7, 0x2c, 0x3f, 0x19, 0x2f, 120 {
118 0x06, 0x28, 0xa2, 0x59, 0x3a, 0x19, 0xa7, 0x0f, 0x06, 0x9e } }, 121 {{0x74, 0x20, 0x74, 0x41, 0x72, 0x9c, 0xdd, 0x92, 0xec, 0x79, 0x31, 0xd8,
119 {"1.2.616.1.113527.2.5.1.1", ""}, 122 0x23, 0x10, 0x8d, 0xc2, 0x81, 0x92, 0xe2, 0xbb}},
120 }, 123 {"1.3.6.1.4.1.22234.2.5.2.3.1", ""},
121 // China Internet Network Information Center EV Certificates Root 124 },
122 // https://evdemo.cnnic.cn/ 125 // Certum Trusted Network CA
123 { { { 0x4F, 0x99, 0xAA, 0x93, 0xFB, 0x2B, 0xD1, 0x37, 0x26, 0xA1, 126 // https://juice.certum.pl/
124 0x99, 0x4A, 0xCE, 0x7F, 0xF0, 0x05, 0xF2, 0x93, 0x5D, 0x1E } }, 127 {
125 {"1.3.6.1.4.1.29836.1.10", ""}, 128 {{0x07, 0xe0, 0x32, 0xe0, 0x20, 0xb7, 0x2c, 0x3f, 0x19, 0x2f, 0x06, 0x28,
126 }, 129 0xa2, 0x59, 0x3a, 0x19, 0xa7, 0x0f, 0x06, 0x9e}},
127 // COMODO Certification Authority 130 {"1.2.616.1.113527.2.5.1.1", ""},
128 // https://secure.comodo.com/ 131 },
129 { { { 0x66, 0x31, 0xbf, 0x9e, 0xf7, 0x4f, 0x9e, 0xb6, 0xc9, 0xd5, 132 // China Internet Network Information Center EV Certificates Root
130 0xa6, 0x0c, 0xba, 0x6a, 0xbe, 0xd1, 0xf7, 0xbd, 0xef, 0x7b } }, 133 // https://evdemo.cnnic.cn/
131 {"1.3.6.1.4.1.6449.1.2.1.5.1", ""}, 134 {
132 }, 135 {{0x4F, 0x99, 0xAA, 0x93, 0xFB, 0x2B, 0xD1, 0x37, 0x26, 0xA1, 0x99, 0x4A,
133 // COMODO Certification Authority (reissued certificate with NotBefore of Jan 136 0xCE, 0x7F, 0xF0, 0x05, 0xF2, 0x93, 0x5D, 0x1E}},
134 // 1 00:00:00 2011 GMT) 137 {"1.3.6.1.4.1.29836.1.10", ""},
135 // https://secure.comodo.com/ 138 },
136 { { { 0xee, 0x86, 0x93, 0x87, 0xff, 0xfd, 0x83, 0x49, 0xab, 0x5a, 139 // COMODO Certification Authority
137 0xd1, 0x43, 0x22, 0x58, 0x87, 0x89, 0xa4, 0x57, 0xb0, 0x12 } }, 140 // https://secure.comodo.com/
138 {"1.3.6.1.4.1.6449.1.2.1.5.1", ""}, 141 {
139 }, 142 {{0x66, 0x31, 0xbf, 0x9e, 0xf7, 0x4f, 0x9e, 0xb6, 0xc9, 0xd5, 0xa6, 0x0c,
140 // COMODO ECC Certification Authority 143 0xba, 0x6a, 0xbe, 0xd1, 0xf7, 0xbd, 0xef, 0x7b}},
141 // https://comodoecccertificationauthority-ev.comodoca.com/ 144 {"1.3.6.1.4.1.6449.1.2.1.5.1", ""},
142 { { { 0x9f, 0x74, 0x4e, 0x9f, 0x2b, 0x4d, 0xba, 0xec, 0x0f, 0x31, 145 },
143 0x2c, 0x50, 0xb6, 0x56, 0x3b, 0x8e, 0x2d, 0x93, 0xc3, 0x11 } }, 146 // COMODO Certification Authority (reissued certificate with NotBefore of
144 {"1.3.6.1.4.1.6449.1.2.1.5.1", ""}, 147 // Jan
145 }, 148 // 1 00:00:00 2011 GMT)
146 // Cybertrust Global Root 149 // https://secure.comodo.com/
147 // https://evup.cybertrust.ne.jp/ctj-ev-upgrader/evseal.gif 150 {
148 { { { 0x5f, 0x43, 0xe5, 0xb1, 0xbf, 0xf8, 0x78, 0x8c, 0xac, 0x1c, 151 {{0xee, 0x86, 0x93, 0x87, 0xff, 0xfd, 0x83, 0x49, 0xab, 0x5a, 0xd1, 0x43,
149 0xc7, 0xca, 0x4a, 0x9a, 0xc6, 0x22, 0x2b, 0xcc, 0x34, 0xc6 } }, 152 0x22, 0x58, 0x87, 0x89, 0xa4, 0x57, 0xb0, 0x12}},
150 {"1.3.6.1.4.1.6334.1.100.1", ""}, 153 {"1.3.6.1.4.1.6449.1.2.1.5.1", ""},
151 }, 154 },
152 // DigiCert High Assurance EV Root CA 155 // COMODO ECC Certification Authority
153 // https://www.digicert.com 156 // https://comodoecccertificationauthority-ev.comodoca.com/
154 { { { 0x5f, 0xb7, 0xee, 0x06, 0x33, 0xe2, 0x59, 0xdb, 0xad, 0x0c, 157 {
155 0x4c, 0x9a, 0xe6, 0xd3, 0x8f, 0x1a, 0x61, 0xc7, 0xdc, 0x25 } }, 158 {{0x9f, 0x74, 0x4e, 0x9f, 0x2b, 0x4d, 0xba, 0xec, 0x0f, 0x31, 0x2c, 0x50,
156 {"2.16.840.1.114412.2.1", ""}, 159 0xb6, 0x56, 0x3b, 0x8e, 0x2d, 0x93, 0xc3, 0x11}},
157 }, 160 {"1.3.6.1.4.1.6449.1.2.1.5.1", ""},
158 // D-TRUST Root Class 3 CA 2 EV 2009 161 },
159 // https://certdemo-ev-valid.ssl.d-trust.net/ 162 // Cybertrust Global Root
160 { { { 0x96, 0xc9, 0x1b, 0x0b, 0x95, 0xb4, 0x10, 0x98, 0x42, 0xfa, 163 // https://evup.cybertrust.ne.jp/ctj-ev-upgrader/evseal.gif
161 0xd0, 0xd8, 0x22, 0x79, 0xfe, 0x60, 0xfa, 0xb9, 0x16, 0x83 } }, 164 {
162 {"1.3.6.1.4.1.4788.2.202.1", ""}, 165 {{0x5f, 0x43, 0xe5, 0xb1, 0xbf, 0xf8, 0x78, 0x8c, 0xac, 0x1c, 0xc7, 0xca,
163 }, 166 0x4a, 0x9a, 0xc6, 0x22, 0x2b, 0xcc, 0x34, 0xc6}},
164 // Entrust.net Secure Server Certification Authority 167 {"1.3.6.1.4.1.6334.1.100.1", ""},
165 // https://www.entrust.net/ 168 },
166 { { { 0x99, 0xa6, 0x9b, 0xe6, 0x1a, 0xfe, 0x88, 0x6b, 0x4d, 0x2b, 169 // DigiCert High Assurance EV Root CA
167 0x82, 0x00, 0x7c, 0xb8, 0x54, 0xfc, 0x31, 0x7e, 0x15, 0x39 } }, 170 // https://www.digicert.com
168 {"2.16.840.1.114028.10.1.2", ""}, 171 {
169 }, 172 {{0x5f, 0xb7, 0xee, 0x06, 0x33, 0xe2, 0x59, 0xdb, 0xad, 0x0c, 0x4c, 0x9a,
170 // Entrust Root Certification Authority 173 0xe6, 0xd3, 0x8f, 0x1a, 0x61, 0xc7, 0xdc, 0x25}},
171 // https://www.entrust.net/ 174 {"2.16.840.1.114412.2.1", ""},
172 { { { 0xb3, 0x1e, 0xb1, 0xb7, 0x40, 0xe3, 0x6c, 0x84, 0x02, 0xda, 175 },
173 0xdc, 0x37, 0xd4, 0x4d, 0xf5, 0xd4, 0x67, 0x49, 0x52, 0xf9 } }, 176 // D-TRUST Root Class 3 CA 2 EV 2009
174 {"2.16.840.1.114028.10.1.2", ""}, 177 // https://certdemo-ev-valid.ssl.d-trust.net/
175 }, 178 {
176 // Equifax Secure Certificate Authority (GeoTrust) 179 {{0x96, 0xc9, 0x1b, 0x0b, 0x95, 0xb4, 0x10, 0x98, 0x42, 0xfa, 0xd0, 0xd8,
177 // https://www.geotrust.com/ 180 0x22, 0x79, 0xfe, 0x60, 0xfa, 0xb9, 0x16, 0x83}},
178 { { { 0xd2, 0x32, 0x09, 0xad, 0x23, 0xd3, 0x14, 0x23, 0x21, 0x74, 181 {"1.3.6.1.4.1.4788.2.202.1", ""},
179 0xe4, 0x0d, 0x7f, 0x9d, 0x62, 0x13, 0x97, 0x86, 0x63, 0x3a } }, 182 },
180 {"1.3.6.1.4.1.14370.1.6", ""}, 183 // Entrust.net Secure Server Certification Authority
181 }, 184 // https://www.entrust.net/
182 // E-Tugra Certification Authority 185 {
183 // https://sslev.e-tugra.com.tr 186 {{0x99, 0xa6, 0x9b, 0xe6, 0x1a, 0xfe, 0x88, 0x6b, 0x4d, 0x2b, 0x82, 0x00,
184 { { { 0x51, 0xC6, 0xE7, 0x08, 0x49, 0x06, 0x6E, 0xF3, 0x92, 0xD4, 187 0x7c, 0xb8, 0x54, 0xfc, 0x31, 0x7e, 0x15, 0x39}},
185 0x5C, 0xA0, 0x0D, 0x6D, 0xA3, 0x62, 0x8F, 0xC3, 0x52, 0x39 } }, 188 {"2.16.840.1.114028.10.1.2", ""},
186 {"2.16.792.3.0.4.1.1.4", ""}, 189 },
187 }, 190 // Entrust Root Certification Authority
188 // GeoTrust Primary Certification Authority 191 // https://www.entrust.net/
189 // https://www.geotrust.com/ 192 {
190 { { { 0x32, 0x3c, 0x11, 0x8e, 0x1b, 0xf7, 0xb8, 0xb6, 0x52, 0x54, 193 {{0xb3, 0x1e, 0xb1, 0xb7, 0x40, 0xe3, 0x6c, 0x84, 0x02, 0xda, 0xdc, 0x37,
191 0xe2, 0xe2, 0x10, 0x0d, 0xd6, 0x02, 0x90, 0x37, 0xf0, 0x96 } }, 194 0xd4, 0x4d, 0xf5, 0xd4, 0x67, 0x49, 0x52, 0xf9}},
192 {"1.3.6.1.4.1.14370.1.6", ""}, 195 {"2.16.840.1.114028.10.1.2", ""},
193 }, 196 },
194 // GeoTrust Primary Certification Authority - G2 197 // Equifax Secure Certificate Authority (GeoTrust)
195 { { { 0x8d, 0x17, 0x84, 0xd5, 0x37, 0xf3, 0x03, 0x7d, 0xec, 0x70, 198 // https://www.geotrust.com/
196 0xfe, 0x57, 0x8b, 0x51, 0x9a, 0x99, 0xe6, 0x10, 0xd7, 0xb0 } }, 199 {
197 {"1.3.6.1.4.1.14370.1.6", ""}, 200 {{0xd2, 0x32, 0x09, 0xad, 0x23, 0xd3, 0x14, 0x23, 0x21, 0x74, 0xe4, 0x0d,
198 }, 201 0x7f, 0x9d, 0x62, 0x13, 0x97, 0x86, 0x63, 0x3a}},
199 // GeoTrust Primary Certification Authority - G3 202 {"1.3.6.1.4.1.14370.1.6", ""},
200 { { { 0x03, 0x9e, 0xed, 0xb8, 0x0b, 0xe7, 0xa0, 0x3c, 0x69, 0x53, 203 },
201 0x89, 0x3b, 0x20, 0xd2, 0xd9, 0x32, 0x3a, 0x4c, 0x2a, 0xfd } }, 204 // E-Tugra Certification Authority
202 {"1.3.6.1.4.1.14370.1.6", ""}, 205 // https://sslev.e-tugra.com.tr
203 }, 206 {
204 // GlobalSign Root CA - R2 207 {{0x51, 0xC6, 0xE7, 0x08, 0x49, 0x06, 0x6E, 0xF3, 0x92, 0xD4, 0x5C, 0xA0,
205 // https://www.globalsign.com/ 208 0x0D, 0x6D, 0xA3, 0x62, 0x8F, 0xC3, 0x52, 0x39}},
206 { { { 0x75, 0xe0, 0xab, 0xb6, 0x13, 0x85, 0x12, 0x27, 0x1c, 0x04, 209 {"2.16.792.3.0.4.1.1.4", ""},
207 0xf8, 0x5f, 0xdd, 0xde, 0x38, 0xe4, 0xb7, 0x24, 0x2e, 0xfe } }, 210 },
208 {"1.3.6.1.4.1.4146.1.1", ""}, 211 // GeoTrust Primary Certification Authority
209 }, 212 // https://www.geotrust.com/
210 // GlobalSign Root CA 213 {
211 { { { 0xb1, 0xbc, 0x96, 0x8b, 0xd4, 0xf4, 0x9d, 0x62, 0x2a, 0xa8, 214 {{0x32, 0x3c, 0x11, 0x8e, 0x1b, 0xf7, 0xb8, 0xb6, 0x52, 0x54, 0xe2, 0xe2,
212 0x9a, 0x81, 0xf2, 0x15, 0x01, 0x52, 0xa4, 0x1d, 0x82, 0x9c } }, 215 0x10, 0x0d, 0xd6, 0x02, 0x90, 0x37, 0xf0, 0x96}},
213 {"1.3.6.1.4.1.4146.1.1", ""}, 216 {"1.3.6.1.4.1.14370.1.6", ""},
214 }, 217 },
215 // GlobalSign Root CA - R3 218 // GeoTrust Primary Certification Authority - G2
216 // https://2029.globalsign.com/ 219 {
217 { { { 0xd6, 0x9b, 0x56, 0x11, 0x48, 0xf0, 0x1c, 0x77, 0xc5, 0x45, 220 {{0x8d, 0x17, 0x84, 0xd5, 0x37, 0xf3, 0x03, 0x7d, 0xec, 0x70, 0xfe, 0x57,
218 0x78, 0xc1, 0x09, 0x26, 0xdf, 0x5b, 0x85, 0x69, 0x76, 0xad } }, 221 0x8b, 0x51, 0x9a, 0x99, 0xe6, 0x10, 0xd7, 0xb0}},
219 {"1.3.6.1.4.1.4146.1.1", ""}, 222 {"1.3.6.1.4.1.14370.1.6", ""},
220 }, 223 },
221 // Go Daddy Class 2 Certification Authority 224 // GeoTrust Primary Certification Authority - G3
222 // https://www.godaddy.com/ 225 {
223 { { { 0x27, 0x96, 0xba, 0xe6, 0x3f, 0x18, 0x01, 0xe2, 0x77, 0x26, 226 {{0x03, 0x9e, 0xed, 0xb8, 0x0b, 0xe7, 0xa0, 0x3c, 0x69, 0x53, 0x89, 0x3b,
224 0x1b, 0xa0, 0xd7, 0x77, 0x70, 0x02, 0x8f, 0x20, 0xee, 0xe4 } }, 227 0x20, 0xd2, 0xd9, 0x32, 0x3a, 0x4c, 0x2a, 0xfd}},
225 {"2.16.840.1.114413.1.7.23.3", ""}, 228 {"1.3.6.1.4.1.14370.1.6", ""},
226 }, 229 },
227 // Go Daddy Root Certificate Authority - G2 230 // GlobalSign Root CA - R2
228 // https://valid.gdig2.catest.godaddy.com/ 231 // https://www.globalsign.com/
229 { { { 0x47, 0xbe, 0xab, 0xc9, 0x22, 0xea, 0xe8, 0x0e, 0x78, 0x78, 232 {
230 0x34, 0x62, 0xa7, 0x9f, 0x45, 0xc2, 0x54, 0xfd, 0xe6, 0x8b } }, 233 {{0x75, 0xe0, 0xab, 0xb6, 0x13, 0x85, 0x12, 0x27, 0x1c, 0x04, 0xf8, 0x5f,
231 {"2.16.840.1.114413.1.7.23.3", ""}, 234 0xdd, 0xde, 0x38, 0xe4, 0xb7, 0x24, 0x2e, 0xfe}},
232 }, 235 {"1.3.6.1.4.1.4146.1.1", ""},
233 // GTE CyberTrust Global Root 236 },
234 // https://www.cybertrust.ne.jp/ 237 // GlobalSign Root CA
235 { { { 0x97, 0x81, 0x79, 0x50, 0xd8, 0x1c, 0x96, 0x70, 0xcc, 0x34, 238 {
236 0xd8, 0x09, 0xcf, 0x79, 0x44, 0x31, 0x36, 0x7e, 0xf4, 0x74 } }, 239 {{0xb1, 0xbc, 0x96, 0x8b, 0xd4, 0xf4, 0x9d, 0x62, 0x2a, 0xa8, 0x9a, 0x81,
237 {"1.3.6.1.4.1.6334.1.100.1", ""}, 240 0xf2, 0x15, 0x01, 0x52, 0xa4, 0x1d, 0x82, 0x9c}},
238 }, 241 {"1.3.6.1.4.1.4146.1.1", ""},
239 // Izenpe.com - SHA256 root 242 },
240 // The first OID is for businesses and the second for government entities. 243 // GlobalSign Root CA - R3
241 // These are the test sites, respectively: 244 // https://2029.globalsign.com/
242 // https://servicios.izenpe.com 245 {
243 // https://servicios1.izenpe.com 246 {{0xd6, 0x9b, 0x56, 0x11, 0x48, 0xf0, 0x1c, 0x77, 0xc5, 0x45, 0x78, 0xc1,
244 { { { 0x2f, 0x78, 0x3d, 0x25, 0x52, 0x18, 0xa7, 0x4a, 0x65, 0x39, 247 0x09, 0x26, 0xdf, 0x5b, 0x85, 0x69, 0x76, 0xad}},
245 0x71, 0xb5, 0x2c, 0xa2, 0x9c, 0x45, 0x15, 0x6f, 0xe9, 0x19} }, 248 {"1.3.6.1.4.1.4146.1.1", ""},
246 {"1.3.6.1.4.1.14777.6.1.1", "1.3.6.1.4.1.14777.6.1.2"}, 249 },
247 }, 250 // Go Daddy Class 2 Certification Authority
248 // Izenpe.com - SHA1 root 251 // https://www.godaddy.com/
249 // Windows XP finds this, SHA1, root instead. The policy OIDs are the same as 252 {
250 // for the SHA256 root, above. 253 {{0x27, 0x96, 0xba, 0xe6, 0x3f, 0x18, 0x01, 0xe2, 0x77, 0x26, 0x1b, 0xa0,
251 { { { 0x30, 0x77, 0x9e, 0x93, 0x15, 0x02, 0x2e, 0x94, 0x85, 0x6a, 254 0xd7, 0x77, 0x70, 0x02, 0x8f, 0x20, 0xee, 0xe4}},
252 0x3f, 0xf8, 0xbc, 0xf8, 0x15, 0xb0, 0x82, 0xf9, 0xae, 0xfd} }, 255 {"2.16.840.1.114413.1.7.23.3", ""},
253 {"1.3.6.1.4.1.14777.6.1.1", "1.3.6.1.4.1.14777.6.1.2"}, 256 },
254 }, 257 // Go Daddy Root Certificate Authority - G2
255 // Network Solutions Certificate Authority 258 // https://valid.gdig2.catest.godaddy.com/
256 // https://www.networksolutions.com/website-packages/index.jsp 259 {
257 { { { 0x74, 0xf8, 0xa3, 0xc3, 0xef, 0xe7, 0xb3, 0x90, 0x06, 0x4b, 260 {{0x47, 0xbe, 0xab, 0xc9, 0x22, 0xea, 0xe8, 0x0e, 0x78, 0x78, 0x34, 0x62,
258 0x83, 0x90, 0x3c, 0x21, 0x64, 0x60, 0x20, 0xe5, 0xdf, 0xce } }, 261 0xa7, 0x9f, 0x45, 0xc2, 0x54, 0xfd, 0xe6, 0x8b}},
259 {"1.3.6.1.4.1.782.1.2.1.8.1", ""}, 262 {"2.16.840.1.114413.1.7.23.3", ""},
260 }, 263 },
261 // Network Solutions Certificate Authority (reissued certificate with 264 // GTE CyberTrust Global Root
262 // NotBefore of Jan 1 00:00:00 2011 GMT). 265 // https://www.cybertrust.ne.jp/
263 // https://www.networksolutions.com/website-packages/index.jsp 266 {
264 { { { 0x71, 0x89, 0x9a, 0x67, 0xbf, 0x33, 0xaf, 0x31, 0xbe, 0xfd, 267 {{0x97, 0x81, 0x79, 0x50, 0xd8, 0x1c, 0x96, 0x70, 0xcc, 0x34, 0xd8, 0x09,
265 0xc0, 0x71, 0xf8, 0xf7, 0x33, 0xb1, 0x83, 0x85, 0x63, 0x32 } }, 268 0xcf, 0x79, 0x44, 0x31, 0x36, 0x7e, 0xf4, 0x74}},
266 {"1.3.6.1.4.1.782.1.2.1.8.1", ""}, 269 {"1.3.6.1.4.1.6334.1.100.1", ""},
267 }, 270 },
268 // QuoVadis Root CA 2 271 // Izenpe.com - SHA256 root
269 // https://www.quovadis.bm/ 272 // The first OID is for businesses and the second for government entities.
270 { { { 0xca, 0x3a, 0xfb, 0xcf, 0x12, 0x40, 0x36, 0x4b, 0x44, 0xb2, 273 // These are the test sites, respectively:
271 0x16, 0x20, 0x88, 0x80, 0x48, 0x39, 0x19, 0x93, 0x7c, 0xf7 } }, 274 // https://servicios.izenpe.com
272 {"1.3.6.1.4.1.8024.0.2.100.1.2", ""}, 275 // https://servicios1.izenpe.com
273 }, 276 {
274 // SecureTrust CA, SecureTrust Corporation 277 {{0x2f, 0x78, 0x3d, 0x25, 0x52, 0x18, 0xa7, 0x4a, 0x65, 0x39, 0x71, 0xb5,
275 // https://www.securetrust.com 278 0x2c, 0xa2, 0x9c, 0x45, 0x15, 0x6f, 0xe9, 0x19}},
276 // https://www.trustwave.com/ 279 {"1.3.6.1.4.1.14777.6.1.1", "1.3.6.1.4.1.14777.6.1.2"},
277 { { { 0x87, 0x82, 0xc6, 0xc3, 0x04, 0x35, 0x3b, 0xcf, 0xd2, 0x96, 280 },
278 0x92, 0xd2, 0x59, 0x3e, 0x7d, 0x44, 0xd9, 0x34, 0xff, 0x11 } }, 281 // Izenpe.com - SHA1 root
279 {"2.16.840.1.114404.1.1.2.4.1", ""}, 282 // Windows XP finds this, SHA1, root instead. The policy OIDs are the same
280 }, 283 // as
281 // Secure Global CA, SecureTrust Corporation 284 // for the SHA256 root, above.
282 { { { 0x3a, 0x44, 0x73, 0x5a, 0xe5, 0x81, 0x90, 0x1f, 0x24, 0x86, 285 {
283 0x61, 0x46, 0x1e, 0x3b, 0x9c, 0xc4, 0x5f, 0xf5, 0x3a, 0x1b } }, 286 {{0x30, 0x77, 0x9e, 0x93, 0x15, 0x02, 0x2e, 0x94, 0x85, 0x6a, 0x3f, 0xf8,
284 {"2.16.840.1.114404.1.1.2.4.1", ""}, 287 0xbc, 0xf8, 0x15, 0xb0, 0x82, 0xf9, 0xae, 0xfd}},
285 }, 288 {"1.3.6.1.4.1.14777.6.1.1", "1.3.6.1.4.1.14777.6.1.2"},
286 // Security Communication RootCA1 289 },
287 // https://www.secomtrust.net/contact/form.html 290 // Network Solutions Certificate Authority
288 { { { 0x36, 0xb1, 0x2b, 0x49, 0xf9, 0x81, 0x9e, 0xd7, 0x4c, 0x9e, 291 // https://www.networksolutions.com/website-packages/index.jsp
289 0xbc, 0x38, 0x0f, 0xc6, 0x56, 0x8f, 0x5d, 0xac, 0xb2, 0xf7 } }, 292 {
290 {"1.2.392.200091.100.721.1", ""}, 293 {{0x74, 0xf8, 0xa3, 0xc3, 0xef, 0xe7, 0xb3, 0x90, 0x06, 0x4b, 0x83, 0x90,
291 }, 294 0x3c, 0x21, 0x64, 0x60, 0x20, 0xe5, 0xdf, 0xce}},
292 // Security Communication EV RootCA1 295 {"1.3.6.1.4.1.782.1.2.1.8.1", ""},
293 // https://www.secomtrust.net/contact/form.html 296 },
294 { { { 0xfe, 0xb8, 0xc4, 0x32, 0xdc, 0xf9, 0x76, 0x9a, 0xce, 0xae, 297 // Network Solutions Certificate Authority (reissued certificate with
295 0x3d, 0xd8, 0x90, 0x8f, 0xfd, 0x28, 0x86, 0x65, 0x64, 0x7d } }, 298 // NotBefore of Jan 1 00:00:00 2011 GMT).
296 {"1.2.392.200091.100.721.1", ""}, 299 // https://www.networksolutions.com/website-packages/index.jsp
297 }, 300 {
298 // StartCom Certification Authority 301 {{0x71, 0x89, 0x9a, 0x67, 0xbf, 0x33, 0xaf, 0x31, 0xbe, 0xfd, 0xc0, 0x71,
299 // https://www.startssl.com/ 302 0xf8, 0xf7, 0x33, 0xb1, 0x83, 0x85, 0x63, 0x32}},
300 { { { 0x3e, 0x2b, 0xf7, 0xf2, 0x03, 0x1b, 0x96, 0xf3, 0x8c, 0xe6, 303 {"1.3.6.1.4.1.782.1.2.1.8.1", ""},
301 0xc4, 0xd8, 0xa8, 0x5d, 0x3e, 0x2d, 0x58, 0x47, 0x6a, 0x0f } }, 304 },
302 {"1.3.6.1.4.1.23223.1.1.1", ""}, 305 // QuoVadis Root CA 2
303 }, 306 // https://www.quovadis.bm/
304 // Starfield Class 2 Certification Authority 307 {
305 // https://www.starfieldtech.com/ 308 {{0xca, 0x3a, 0xfb, 0xcf, 0x12, 0x40, 0x36, 0x4b, 0x44, 0xb2, 0x16, 0x20,
306 { { { 0xad, 0x7e, 0x1c, 0x28, 0xb0, 0x64, 0xef, 0x8f, 0x60, 0x03, 309 0x88, 0x80, 0x48, 0x39, 0x19, 0x93, 0x7c, 0xf7}},
307 0x40, 0x20, 0x14, 0xc3, 0xd0, 0xe3, 0x37, 0x0e, 0xb5, 0x8a } }, 310 {"1.3.6.1.4.1.8024.0.2.100.1.2", ""},
308 {"2.16.840.1.114414.1.7.23.3", ""}, 311 },
309 }, 312 // SecureTrust CA, SecureTrust Corporation
310 // Starfield Root Certificate Authority - G2 313 // https://www.securetrust.com
311 // https://valid.sfig2.catest.starfieldtech.com/ 314 // https://www.trustwave.com/
312 { { { 0xb5, 0x1c, 0x06, 0x7c, 0xee, 0x2b, 0x0c, 0x3d, 0xf8, 0x55, 315 {
313 0xab, 0x2d, 0x92, 0xf4, 0xfe, 0x39, 0xd4, 0xe7, 0x0f, 0x0e } }, 316 {{0x87, 0x82, 0xc6, 0xc3, 0x04, 0x35, 0x3b, 0xcf, 0xd2, 0x96, 0x92, 0xd2,
314 {"2.16.840.1.114414.1.7.23.3", ""}, 317 0x59, 0x3e, 0x7d, 0x44, 0xd9, 0x34, 0xff, 0x11}},
315 }, 318 {"2.16.840.1.114404.1.1.2.4.1", ""},
316 // Starfield Services Root Certificate Authority - G2 319 },
317 // https://valid.sfsg2.catest.starfieldtech.com/ 320 // Secure Global CA, SecureTrust Corporation
318 { { { 0x92, 0x5a, 0x8f, 0x8d, 0x2c, 0x6d, 0x04, 0xe0, 0x66, 0x5f, 321 {
319 0x59, 0x6a, 0xff, 0x22, 0xd8, 0x63, 0xe8, 0x25, 0x6f, 0x3f } }, 322 {{0x3a, 0x44, 0x73, 0x5a, 0xe5, 0x81, 0x90, 0x1f, 0x24, 0x86, 0x61, 0x46,
320 {"2.16.840.1.114414.1.7.24.3", ""}, 323 0x1e, 0x3b, 0x9c, 0xc4, 0x5f, 0xf5, 0x3a, 0x1b}},
321 }, 324 {"2.16.840.1.114404.1.1.2.4.1", ""},
322 // SwissSign Gold CA - G2 325 },
323 // https://testevg2.swisssign.net/ 326 // Security Communication RootCA1
324 { { { 0xd8, 0xc5, 0x38, 0x8a, 0xb7, 0x30, 0x1b, 0x1b, 0x6e, 0xd4, 327 // https://www.secomtrust.net/contact/form.html
325 0x7a, 0xe6, 0x45, 0x25, 0x3a, 0x6f, 0x9f, 0x1a, 0x27, 0x61 } }, 328 {
326 {"2.16.756.1.89.1.2.1.1", ""}, 329 {{0x36, 0xb1, 0x2b, 0x49, 0xf9, 0x81, 0x9e, 0xd7, 0x4c, 0x9e, 0xbc, 0x38,
327 }, 330 0x0f, 0xc6, 0x56, 0x8f, 0x5d, 0xac, 0xb2, 0xf7}},
328 // Thawte Premium Server CA 331 {"1.2.392.200091.100.721.1", ""},
329 // https://www.thawte.com/ 332 },
330 { { { 0x62, 0x7f, 0x8d, 0x78, 0x27, 0x65, 0x63, 0x99, 0xd2, 0x7d, 333 // Security Communication EV RootCA1
331 0x7f, 0x90, 0x44, 0xc9, 0xfe, 0xb3, 0xf3, 0x3e, 0xfa, 0x9a } }, 334 // https://www.secomtrust.net/contact/form.html
332 {"2.16.840.1.113733.1.7.48.1", ""}, 335 {
333 }, 336 {{0xfe, 0xb8, 0xc4, 0x32, 0xdc, 0xf9, 0x76, 0x9a, 0xce, 0xae, 0x3d, 0xd8,
334 // thawte Primary Root CA 337 0x90, 0x8f, 0xfd, 0x28, 0x86, 0x65, 0x64, 0x7d}},
335 // https://www.thawte.com/ 338 {"1.2.392.200091.100.721.1", ""},
336 { { { 0x91, 0xc6, 0xd6, 0xee, 0x3e, 0x8a, 0xc8, 0x63, 0x84, 0xe5, 339 },
337 0x48, 0xc2, 0x99, 0x29, 0x5c, 0x75, 0x6c, 0x81, 0x7b, 0x81 } }, 340 // StartCom Certification Authority
338 {"2.16.840.1.113733.1.7.48.1", ""}, 341 // https://www.startssl.com/
339 }, 342 {
340 // thawte Primary Root CA - G2 343 {{0x3e, 0x2b, 0xf7, 0xf2, 0x03, 0x1b, 0x96, 0xf3, 0x8c, 0xe6, 0xc4, 0xd8,
341 { { { 0xaa, 0xdb, 0xbc, 0x22, 0x23, 0x8f, 0xc4, 0x01, 0xa1, 0x27, 344 0xa8, 0x5d, 0x3e, 0x2d, 0x58, 0x47, 0x6a, 0x0f}},
342 0xbb, 0x38, 0xdd, 0xf4, 0x1d, 0xdb, 0x08, 0x9e, 0xf0, 0x12 } }, 345 {"1.3.6.1.4.1.23223.1.1.1", ""},
343 {"2.16.840.1.113733.1.7.48.1", ""}, 346 },
344 }, 347 // Starfield Class 2 Certification Authority
345 // thawte Primary Root CA - G3 348 // https://www.starfieldtech.com/
346 { { { 0xf1, 0x8b, 0x53, 0x8d, 0x1b, 0xe9, 0x03, 0xb6, 0xa6, 0xf0, 349 {
347 0x56, 0x43, 0x5b, 0x17, 0x15, 0x89, 0xca, 0xf3, 0x6b, 0xf2 } }, 350 {{0xad, 0x7e, 0x1c, 0x28, 0xb0, 0x64, 0xef, 0x8f, 0x60, 0x03, 0x40, 0x20,
348 {"2.16.840.1.113733.1.7.48.1", ""}, 351 0x14, 0xc3, 0xd0, 0xe3, 0x37, 0x0e, 0xb5, 0x8a}},
349 }, 352 {"2.16.840.1.114414.1.7.23.3", ""},
350 // TWCA Global Root CA 353 },
351 // https://evssldemo3.twca.com.tw/index.html 354 // Starfield Root Certificate Authority - G2
352 { { { 0x9C, 0xBB, 0x48, 0x53, 0xF6, 0xA4, 0xF6, 0xD3, 0x52, 0xA4, 355 // https://valid.sfig2.catest.starfieldtech.com/
353 0xE8, 0x32, 0x52, 0x55, 0x60, 0x13, 0xF5, 0xAD, 0xAF, 0x65 } }, 356 {
354 {"1.3.6.1.4.1.40869.1.1.22.3", ""}, 357 {{0xb5, 0x1c, 0x06, 0x7c, 0xee, 0x2b, 0x0c, 0x3d, 0xf8, 0x55, 0xab, 0x2d,
355 }, 358 0x92, 0xf4, 0xfe, 0x39, 0xd4, 0xe7, 0x0f, 0x0e}},
356 // TWCA Root Certification Authority 359 {"2.16.840.1.114414.1.7.23.3", ""},
357 // https://evssldemo.twca.com.tw/index.html 360 },
358 { { { 0xcf, 0x9e, 0x87, 0x6d, 0xd3, 0xeb, 0xfc, 0x42, 0x26, 0x97, 361 // Starfield Services Root Certificate Authority - G2
359 0xa3, 0xb5, 0xa3, 0x7a, 0xa0, 0x76, 0xa9, 0x06, 0x23, 0x48 } }, 362 // https://valid.sfsg2.catest.starfieldtech.com/
360 {"1.3.6.1.4.1.40869.1.1.22.3", ""}, 363 {
361 }, 364 {{0x92, 0x5a, 0x8f, 0x8d, 0x2c, 0x6d, 0x04, 0xe0, 0x66, 0x5f, 0x59, 0x6a,
362 // T-TeleSec GlobalRoot Class 3 365 0xff, 0x22, 0xd8, 0x63, 0xe8, 0x25, 0x6f, 0x3f}},
363 // http://www.telesec.de/ / https://root-class3.test.telesec.de/ 366 {"2.16.840.1.114414.1.7.24.3", ""},
364 { { { 0x55, 0xa6, 0x72, 0x3e, 0xcb, 0xf2, 0xec, 0xcd, 0xc3, 0x23, 367 },
365 0x74, 0x70, 0x19, 0x9d, 0x2a, 0xbe, 0x11, 0xe3, 0x81, 0xd1 } }, 368 // SwissSign Gold CA - G2
366 {"1.3.6.1.4.1.7879.13.24.1", "" }, 369 // https://testevg2.swisssign.net/
367 }, 370 {
368 // UTN - DATACorp SGC 371 {{0xd8, 0xc5, 0x38, 0x8a, 0xb7, 0x30, 0x1b, 0x1b, 0x6e, 0xd4, 0x7a, 0xe6,
369 { { { 0x58, 0x11, 0x9f, 0x0e, 0x12, 0x82, 0x87, 0xea, 0x50, 0xfd, 372 0x45, 0x25, 0x3a, 0x6f, 0x9f, 0x1a, 0x27, 0x61}},
370 0xd9, 0x87, 0x45, 0x6f, 0x4f, 0x78, 0xdc, 0xfa, 0xd6, 0xd4 } }, 373 {"2.16.756.1.89.1.2.1.1", ""},
371 {"1.3.6.1.4.1.6449.1.2.1.5.1", ""}, 374 },
372 }, 375 // Thawte Premium Server CA
373 // UTN-USERFirst-Hardware 376 // https://www.thawte.com/
374 { { { 0x04, 0x83, 0xed, 0x33, 0x99, 0xac, 0x36, 0x08, 0x05, 0x87, 377 {
375 0x22, 0xed, 0xbc, 0x5e, 0x46, 0x00, 0xe3, 0xbe, 0xf9, 0xd7 } }, 378 {{0x62, 0x7f, 0x8d, 0x78, 0x27, 0x65, 0x63, 0x99, 0xd2, 0x7d, 0x7f, 0x90,
376 { 379 0x44, 0xc9, 0xfe, 0xb3, 0xf3, 0x3e, 0xfa, 0x9a}},
380 {"2.16.840.1.113733.1.7.48.1", ""},
381 },
382 // thawte Primary Root CA
383 // https://www.thawte.com/
384 {
385 {{0x91, 0xc6, 0xd6, 0xee, 0x3e, 0x8a, 0xc8, 0x63, 0x84, 0xe5, 0x48, 0xc2,
386 0x99, 0x29, 0x5c, 0x75, 0x6c, 0x81, 0x7b, 0x81}},
387 {"2.16.840.1.113733.1.7.48.1", ""},
388 },
389 // thawte Primary Root CA - G2
390 {
391 {{0xaa, 0xdb, 0xbc, 0x22, 0x23, 0x8f, 0xc4, 0x01, 0xa1, 0x27, 0xbb, 0x38,
392 0xdd, 0xf4, 0x1d, 0xdb, 0x08, 0x9e, 0xf0, 0x12}},
393 {"2.16.840.1.113733.1.7.48.1", ""},
394 },
395 // thawte Primary Root CA - G3
396 {
397 {{0xf1, 0x8b, 0x53, 0x8d, 0x1b, 0xe9, 0x03, 0xb6, 0xa6, 0xf0, 0x56, 0x43,
398 0x5b, 0x17, 0x15, 0x89, 0xca, 0xf3, 0x6b, 0xf2}},
399 {"2.16.840.1.113733.1.7.48.1", ""},
400 },
401 // TWCA Global Root CA
402 // https://evssldemo3.twca.com.tw/index.html
403 {
404 {{0x9C, 0xBB, 0x48, 0x53, 0xF6, 0xA4, 0xF6, 0xD3, 0x52, 0xA4, 0xE8, 0x32,
405 0x52, 0x55, 0x60, 0x13, 0xF5, 0xAD, 0xAF, 0x65}},
406 {"1.3.6.1.4.1.40869.1.1.22.3", ""},
407 },
408 // TWCA Root Certification Authority
409 // https://evssldemo.twca.com.tw/index.html
410 {
411 {{0xcf, 0x9e, 0x87, 0x6d, 0xd3, 0xeb, 0xfc, 0x42, 0x26, 0x97, 0xa3, 0xb5,
412 0xa3, 0x7a, 0xa0, 0x76, 0xa9, 0x06, 0x23, 0x48}},
413 {"1.3.6.1.4.1.40869.1.1.22.3", ""},
414 },
415 // T-TeleSec GlobalRoot Class 3
416 // http://www.telesec.de/ / https://root-class3.test.telesec.de/
417 {
418 {{0x55, 0xa6, 0x72, 0x3e, 0xcb, 0xf2, 0xec, 0xcd, 0xc3, 0x23, 0x74, 0x70,
419 0x19, 0x9d, 0x2a, 0xbe, 0x11, 0xe3, 0x81, 0xd1}},
420 {"1.3.6.1.4.1.7879.13.24.1", ""},
421 },
422 // UTN - DATACorp SGC
423 {
424 {{0x58, 0x11, 0x9f, 0x0e, 0x12, 0x82, 0x87, 0xea, 0x50, 0xfd, 0xd9, 0x87,
425 0x45, 0x6f, 0x4f, 0x78, 0xdc, 0xfa, 0xd6, 0xd4}},
426 {"1.3.6.1.4.1.6449.1.2.1.5.1", ""},
427 },
428 // UTN-USERFirst-Hardware
429 {
430 {{0x04, 0x83, 0xed, 0x33, 0x99, 0xac, 0x36, 0x08, 0x05, 0x87, 0x22, 0xed,
431 0xbc, 0x5e, 0x46, 0x00, 0xe3, 0xbe, 0xf9, 0xd7}},
432 {
377 "1.3.6.1.4.1.6449.1.2.1.5.1", 433 "1.3.6.1.4.1.6449.1.2.1.5.1",
378 // This is the Network Solutions EV OID. However, this root 434 // This is the Network Solutions EV OID. However, this root
379 // cross-certifies NetSol and so we need it here too. 435 // cross-certifies NetSol and so we need it here too.
380 "1.3.6.1.4.1.782.1.2.1.8.1", 436 "1.3.6.1.4.1.782.1.2.1.8.1",
381 }, 437 },
382 }, 438 },
383 // ValiCert Class 2 Policy Validation Authority 439 // ValiCert Class 2 Policy Validation Authority
384 { { { 0x31, 0x7a, 0x2a, 0xd0, 0x7f, 0x2b, 0x33, 0x5e, 0xf5, 0xa1, 440 {
385 0xc3, 0x4e, 0x4b, 0x57, 0xe8, 0xb7, 0xd8, 0xf1, 0xfc, 0xa6 } }, 441 {{0x31, 0x7a, 0x2a, 0xd0, 0x7f, 0x2b, 0x33, 0x5e, 0xf5, 0xa1, 0xc3, 0x4e,
386 {"2.16.840.1.114413.1.7.23.3", "2.16.840.1.114414.1.7.23.3"}, 442 0x4b, 0x57, 0xe8, 0xb7, 0xd8, 0xf1, 0xfc, 0xa6}},
387 }, 443 {"2.16.840.1.114413.1.7.23.3", "2.16.840.1.114414.1.7.23.3"},
388 // VeriSign Class 3 Public Primary Certification Authority 444 },
389 // https://www.verisign.com/ 445 // VeriSign Class 3 Public Primary Certification Authority
390 { { { 0x74, 0x2c, 0x31, 0x92, 0xe6, 0x07, 0xe4, 0x24, 0xeb, 0x45, 446 // https://www.verisign.com/
391 0x49, 0x54, 0x2b, 0xe1, 0xbb, 0xc5, 0x3e, 0x61, 0x74, 0xe2 } }, 447 {
392 {"2.16.840.1.113733.1.7.23.6", ""}, 448 {{0x74, 0x2c, 0x31, 0x92, 0xe6, 0x07, 0xe4, 0x24, 0xeb, 0x45, 0x49, 0x54,
393 }, 449 0x2b, 0xe1, 0xbb, 0xc5, 0x3e, 0x61, 0x74, 0xe2}},
394 // VeriSign Class 3 Public Primary Certification Authority - G4 450 {"2.16.840.1.113733.1.7.23.6", ""},
395 { { { 0x22, 0xD5, 0xD8, 0xDF, 0x8F, 0x02, 0x31, 0xD1, 0x8D, 0xF7, 451 },
396 0x9D, 0xB7, 0xCF, 0x8A, 0x2D, 0x64, 0xC9, 0x3F, 0x6C, 0x3A } }, 452 // VeriSign Class 3 Public Primary Certification Authority - G4
397 {"2.16.840.1.113733.1.7.23.6", ""}, 453 {
398 }, 454 {{0x22, 0xD5, 0xD8, 0xDF, 0x8F, 0x02, 0x31, 0xD1, 0x8D, 0xF7, 0x9D, 0xB7,
399 // VeriSign Class 3 Public Primary Certification Authority - G5 455 0xCF, 0x8A, 0x2D, 0x64, 0xC9, 0x3F, 0x6C, 0x3A}},
400 // https://www.verisign.com/ 456 {"2.16.840.1.113733.1.7.23.6", ""},
401 { { { 0x4e, 0xb6, 0xd5, 0x78, 0x49, 0x9b, 0x1c, 0xcf, 0x5f, 0x58, 457 },
402 0x1e, 0xad, 0x56, 0xbe, 0x3d, 0x9b, 0x67, 0x44, 0xa5, 0xe5 } }, 458 // VeriSign Class 3 Public Primary Certification Authority - G5
403 {"2.16.840.1.113733.1.7.23.6", ""}, 459 // https://www.verisign.com/
404 }, 460 {
405 // VeriSign Universal Root Certification Authority 461 {{0x4e, 0xb6, 0xd5, 0x78, 0x49, 0x9b, 0x1c, 0xcf, 0x5f, 0x58, 0x1e, 0xad,
406 { { { 0x36, 0x79, 0xca, 0x35, 0x66, 0x87, 0x72, 0x30, 0x4d, 0x30, 462 0x56, 0xbe, 0x3d, 0x9b, 0x67, 0x44, 0xa5, 0xe5}},
407 0xa5, 0xfb, 0x87, 0x3b, 0x0f, 0xa7, 0x7b, 0xb7, 0x0d, 0x54 } }, 463 {"2.16.840.1.113733.1.7.23.6", ""},
408 {"2.16.840.1.113733.1.7.23.6", ""}, 464 },
409 }, 465 // VeriSign Universal Root Certification Authority
410 // Wells Fargo WellsSecure Public Root Certificate Authority 466 {
411 // https://nerys.wellsfargo.com/test.html 467 {{0x36, 0x79, 0xca, 0x35, 0x66, 0x87, 0x72, 0x30, 0x4d, 0x30, 0xa5, 0xfb,
412 { { { 0xe7, 0xb4, 0xf6, 0x9d, 0x61, 0xec, 0x90, 0x69, 0xdb, 0x7e, 468 0x87, 0x3b, 0x0f, 0xa7, 0x7b, 0xb7, 0x0d, 0x54}},
413 0x90, 0xa7, 0x40, 0x1a, 0x3c, 0xf4, 0x7d, 0x4f, 0xe8, 0xee } }, 469 {"2.16.840.1.113733.1.7.23.6", ""},
414 {"2.16.840.1.114171.500.9", ""}, 470 },
415 }, 471 // Wells Fargo WellsSecure Public Root Certificate Authority
416 // XRamp Global Certification Authority 472 // https://nerys.wellsfargo.com/test.html
417 { { { 0xb8, 0x01, 0x86, 0xd1, 0xeb, 0x9c, 0x86, 0xa5, 0x41, 0x04, 473 {
418 0xcf, 0x30, 0x54, 0xf3, 0x4c, 0x52, 0xb7, 0xe5, 0x58, 0xc6 } }, 474 {{0xe7, 0xb4, 0xf6, 0x9d, 0x61, 0xec, 0x90, 0x69, 0xdb, 0x7e, 0x90, 0xa7,
419 {"2.16.840.1.114404.1.1.2.4.1", ""}, 475 0x40, 0x1a, 0x3c, 0xf4, 0x7d, 0x4f, 0xe8, 0xee}},
420 } 476 {"2.16.840.1.114171.500.9", ""},
421 }; 477 },
478 // XRamp Global Certification Authority
479 {
480 {{0xb8, 0x01, 0x86, 0xd1, 0xeb, 0x9c, 0x86, 0xa5, 0x41, 0x04, 0xcf, 0x30,
481 0x54, 0xf3, 0x4c, 0x52, 0xb7, 0xe5, 0x58, 0xc6}},
482 {"2.16.840.1.114404.1.1.2.4.1", ""},
483 }};
422 484
423 #endif // defined(USE_NSS) || defined(OS_IOS) || defined(OS_WIN) 485 #endif // defined(USE_NSS) || defined(OS_IOS) || defined(OS_WIN)
424 486
425 static base::LazyInstance<EVRootCAMetadata>::Leaky 487 static base::LazyInstance<EVRootCAMetadata>::Leaky g_ev_root_ca_metadata =
426 g_ev_root_ca_metadata = LAZY_INSTANCE_INITIALIZER; 488 LAZY_INSTANCE_INITIALIZER;
427 489
428 // static 490 // static
429 EVRootCAMetadata* EVRootCAMetadata::GetInstance() { 491 EVRootCAMetadata* EVRootCAMetadata::GetInstance() {
430 return g_ev_root_ca_metadata.Pointer(); 492 return g_ev_root_ca_metadata.Pointer();
431 } 493 }
432 494
433 #if defined(USE_NSS) || defined(OS_IOS) 495 #if defined(USE_NSS) || defined(OS_IOS)
434 bool EVRootCAMetadata::IsEVPolicyOID(PolicyOID policy_oid) const { 496 bool EVRootCAMetadata::IsEVPolicyOID(PolicyOID policy_oid) const {
435 return policy_oids_.find(policy_oid) != policy_oids_.end(); 497 return policy_oids_.find(policy_oid) != policy_oids_.end();
436 } 498 }
437 499
438 bool EVRootCAMetadata::HasEVPolicyOID( 500 bool EVRootCAMetadata::HasEVPolicyOID(const SHA1HashValue& fingerprint,
439 const SHA1HashValue& fingerprint, 501 PolicyOID policy_oid) const {
440 PolicyOID policy_oid) const {
441 PolicyOIDMap::const_iterator iter = ev_policy_.find(fingerprint); 502 PolicyOIDMap::const_iterator iter = ev_policy_.find(fingerprint);
442 if (iter == ev_policy_.end()) 503 if (iter == ev_policy_.end())
443 return false; 504 return false;
444 for (std::vector<PolicyOID>::const_iterator 505 for (std::vector<PolicyOID>::const_iterator j = iter->second.begin();
445 j = iter->second.begin(); j != iter->second.end(); ++j) { 506 j != iter->second.end();
507 ++j) {
446 if (*j == policy_oid) 508 if (*j == policy_oid)
447 return true; 509 return true;
448 } 510 }
449 return false; 511 return false;
450 } 512 }
451 513
452 bool EVRootCAMetadata::AddEVCA(const SHA1HashValue& fingerprint, 514 bool EVRootCAMetadata::AddEVCA(const SHA1HashValue& fingerprint,
453 const char* policy) { 515 const char* policy) {
454 if (ev_policy_.find(fingerprint) != ev_policy_.end()) 516 if (ev_policy_.find(fingerprint) != ev_policy_.end())
455 return false; 517 return false;
(...skipping 12 matching lines...) Expand all
468 PolicyOIDMap::iterator it = ev_policy_.find(fingerprint); 530 PolicyOIDMap::iterator it = ev_policy_.find(fingerprint);
469 if (it == ev_policy_.end()) 531 if (it == ev_policy_.end())
470 return false; 532 return false;
471 PolicyOID oid = it->second[0]; 533 PolicyOID oid = it->second[0];
472 ev_policy_.erase(it); 534 ev_policy_.erase(it);
473 policy_oids_.erase(oid); 535 policy_oids_.erase(oid);
474 return true; 536 return true;
475 } 537 }
476 538
477 // static 539 // static
478 bool EVRootCAMetadata::RegisterOID(const char* policy, 540 bool EVRootCAMetadata::RegisterOID(const char* policy, PolicyOID* out) {
479 PolicyOID* out) {
480 PRUint8 buf[64]; 541 PRUint8 buf[64];
481 SECItem oid_item; 542 SECItem oid_item;
482 oid_item.data = buf; 543 oid_item.data = buf;
483 oid_item.len = sizeof(buf); 544 oid_item.len = sizeof(buf);
484 SECStatus status = SEC_StringToOID(NULL, &oid_item, policy, 0); 545 SECStatus status = SEC_StringToOID(NULL, &oid_item, policy, 0);
485 if (status != SECSuccess) 546 if (status != SECSuccess)
486 return false; 547 return false;
487 548
488 // Register the OID. 549 // Register the OID.
489 SECOidData od; 550 SECOidData od;
(...skipping 13 matching lines...) Expand all
503 for (size_t i = 0; i < arraysize(ev_root_ca_metadata); i++) { 564 for (size_t i = 0; i < arraysize(ev_root_ca_metadata); i++) {
504 for (size_t j = 0; j < arraysize(ev_root_ca_metadata[i].policy_oids); j++) { 565 for (size_t j = 0; j < arraysize(ev_root_ca_metadata[i].policy_oids); j++) {
505 if (ev_root_ca_metadata[i].policy_oids[j][0] == '\0') 566 if (ev_root_ca_metadata[i].policy_oids[j][0] == '\0')
506 break; 567 break;
507 if (strcmp(policy_oid, ev_root_ca_metadata[i].policy_oids[j]) == 0) 568 if (strcmp(policy_oid, ev_root_ca_metadata[i].policy_oids[j]) == 0)
508 return true; 569 return true;
509 } 570 }
510 } 571 }
511 572
512 for (ExtraEVCAMap::const_iterator i = extra_cas_.begin(); 573 for (ExtraEVCAMap::const_iterator i = extra_cas_.begin();
513 i != extra_cas_.end(); i++) { 574 i != extra_cas_.end();
575 i++) {
514 if (i->second == policy_oid) 576 if (i->second == policy_oid)
515 return true; 577 return true;
516 } 578 }
517 579
518 return false; 580 return false;
519 } 581 }
520 582
521 bool EVRootCAMetadata::HasEVPolicyOID(const SHA1HashValue& fingerprint, 583 bool EVRootCAMetadata::HasEVPolicyOID(const SHA1HashValue& fingerprint,
522 PolicyOID policy_oid) const { 584 PolicyOID policy_oid) const {
523 for (size_t i = 0; i < arraysize(ev_root_ca_metadata); i++) { 585 for (size_t i = 0; i < arraysize(ev_root_ca_metadata); i++) {
(...skipping 44 matching lines...) Expand 10 before | Expand all | Expand 10 after
568 return true; 630 return true;
569 } 631 }
570 632
571 bool EVRootCAMetadata::RemoveEVCA(const SHA1HashValue& fingerprint) { 633 bool EVRootCAMetadata::RemoveEVCA(const SHA1HashValue& fingerprint) {
572 return true; 634 return true;
573 } 635 }
574 636
575 #endif 637 #endif
576 638
577 EVRootCAMetadata::EVRootCAMetadata() { 639 EVRootCAMetadata::EVRootCAMetadata() {
578 // Constructs the object from the raw metadata in ev_root_ca_metadata. 640 // Constructs the object from the raw metadata in ev_root_ca_metadata.
579 #if defined(USE_NSS) || defined(OS_IOS) 641 #if defined(USE_NSS) || defined(OS_IOS)
580 crypto::EnsureNSSInit(); 642 crypto::EnsureNSSInit();
581 643
582 for (size_t i = 0; i < arraysize(ev_root_ca_metadata); i++) { 644 for (size_t i = 0; i < arraysize(ev_root_ca_metadata); i++) {
583 const EVMetadata& metadata = ev_root_ca_metadata[i]; 645 const EVMetadata& metadata = ev_root_ca_metadata[i];
584 for (size_t j = 0; j < arraysize(metadata.policy_oids); j++) { 646 for (size_t j = 0; j < arraysize(metadata.policy_oids); j++) {
585 if (metadata.policy_oids[j][0] == '\0') 647 if (metadata.policy_oids[j][0] == '\0')
586 break; 648 break;
587 const char* policy_oid = metadata.policy_oids[j]; 649 const char* policy_oid = metadata.policy_oids[j];
588 650
589 PolicyOID policy; 651 PolicyOID policy;
590 if (!RegisterOID(policy_oid, &policy)) { 652 if (!RegisterOID(policy_oid, &policy)) {
591 LOG(ERROR) << "Failed to register OID: " << policy_oid; 653 LOG(ERROR) << "Failed to register OID: " << policy_oid;
592 continue; 654 continue;
593 } 655 }
594 656
595 ev_policy_[metadata.fingerprint].push_back(policy); 657 ev_policy_[metadata.fingerprint].push_back(policy);
596 policy_oids_.insert(policy); 658 policy_oids_.insert(policy);
597 } 659 }
598 } 660 }
599 #endif 661 #endif
600 } 662 }
601 663
602 EVRootCAMetadata::~EVRootCAMetadata() { } 664 EVRootCAMetadata::~EVRootCAMetadata() {
665 }
603 666
604 } // namespace net 667 } // namespace net
OLDNEW

Powered by Google App Engine
This is Rietveld 408576698