summaryrefslogtreecommitdiff
path: root/chromium/net/data/ssl/certificates/README
blob: ac6c4d8b5067561248e683bcf17956cccaedf233 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
This directory contains various certificates for use with SSL-related
unit tests.

===== Real-world certificates that need manual updating
- google.binary.p7b
- google.chain.pem
- google.pem_cert.p7b
- google.pem_pkcs7.p7b
- google.pkcs7.p7b
- google.single.der
- google.single.pem : Certificates for testing parsing of different formats.

- mit.davidben.der : An expired MIT client certificate.

- foaf.me.chromium-test-cert.der : A client certificate for a FOAF.ME identity
     created for testing.

- google_diginotar.pem
- diginotar_public_ca_2025.pem : A certificate chain for the regression test
      of http://crbug.com/94673

- salesforce_com_test.pem
- verisign_intermediate_ca_2011.pem
- verisign_intermediate_ca_2016.pem : Certificates for testing two
     X509Certificate objects that contain the same server certificate but
     different intermediate CA certificates.  The two intermediate CA
     certificates actually represent the same intermediate CA but have
     different validity periods.

- ndn.ca.crt: "New Dream Network Certificate Authority" root certificate.
     This is an X.509 v1 certificate that omits the version field. Used to
     test that the certificate version gets the default value v1.

- ct-test-embedded-cert.pem
- ct-test-embedded-with-intermediate-chain.pem
- ct-test-embedded-with-intermediate-preca-chain.pem
- ct-test-embedded-with-preca-chain.pem
     Test certificate chains for Certificate Transparency: Each of these
     files contains a leaf certificate as the first certificate, which has
     embedded SCTs, followed by the issuer certificates chain.
     All files are from the src/test/testdada directory in
     https://code.google.com/p/certificate-transparency/

- caninesonduty.com.pem : A certificate issued by a public trust anchor valid
    for the domain caninesonduty.com, which expires on 2023-11-06.

- gms.hongleong.com.my-verisign-chain.pem: A certificate chain for
  gms.hongleong.com.my issued by VeriSign Class 3 Public Primary Certification
  Authority - G5. Expires Dec 30 2019.
- verisign_class3_g5_crosssigned.pem: The SHA1 cross-signed version of
  VeriSign Class 3 Public Primary Certification Authority - G5
- verisign_class3_g5_crosssigned-trusted.keychain: OSX Keychain set to Always
  Trust the certificate in verisign_class3_g5_crosssigned.pem (Generated by
  scripts/generate-verisign_class3_g5_crosssigned-trusted-keychain.sh)

- treadclimber.pem: A chain where the leaf does not contain embedded SCTs,
  and which has a notBefore date after 2018/10/15. Expires 2020/02/07.
- treadclimber.sctlist: The TLS encoded SignedCertificateTimestampList for the
  treadclimber.pem leaf certificate.
- lets-encrypt-dst-x3-root.pem: A chain that ends in the Lets encrypt DST X3
  root (https://crt.sh/?id=8395). Has the same leaf as
  lets-encrypt-isrg-x1-root.pem.
- lets-encrypt-isrg-x1-root.pem: A chain that ends in the Lets encrypt ISRG X1
  root (https://crt.sh/?id=9314791). Has the same leaf as
  lets-encrypt-dst-x3-root.pem.
- vrk_gov_root.pem: A root certificate that is marked as a legacy CA in the
  known roots list.

===== Manually generated certificates
- client.p12 : A PKCS #12 file containing a client certificate and a private
     key created for testing.  The password is "12345".

- client-nokey.p12 : A PKCS #12 file containing a client certificate (the same
     as the one in client.p12) but no private key. The password is "12345".

- client-empty-password.p12 : A PKCS #12 file containing an unencrypted client
     certificate and a encrypted private key.  The password is the empty string,
     encoded as two zero bytes.  (PKCS#12 passwords are encoded as
     NUL-terminated UTF-16.)

- client-null-password.p12 : A PKCS #12 file containing an unencrypted client
     certificate and a encrypted private key.  The password is the empty string,
     encoded as the empty byte string.

- unittest.selfsigned.der : A self-signed certificate generated using private
     key in unittest.key.bin. The common name is "unittest".

- unittest.key.bin : private key stored unencrypted.

- multivalue_rdn.pem : A regression test for http://crbug.com/101009. A
     certificate with all of the AttributeTypeAndValues stored within a single
     RelativeDistinguishedName, rather than one AVA per RDN as normally seen.

- unescaped.pem : Regression test for http://crbug.com/102839. Contains
     characters such as '=' and '"' that would normally be escaped when
     converting a subject/issuer name to their stringized form.

- websocket_cacert.pem : The testing root CA for testing WebSocket client
     certificate authentication.
     This file is used in SSLUITest.TestWSSClientCert.

- websocket_client_cert.p12 : A PKCS #12 file containing a client certificate
     and a private key created for WebSocket testing. The password is "".
     This file is used in SSLUITest.TestWSSClientCert.

- no_subject_common_name_cert.pem: Used to test the function that generates a
  NSS certificate nickname for a user certificate. This certificate's Subject
  field doesn't have a common name.

- ct-test-embedded-with-uids.pem: A certificate with embedded SCT and
  issuer/subject unique IDs. This certificate should only be used in parsing
  tests and otherwise kept fixed. The signature, etc., are intentionally
  invalid.

- name_constrained_key.pem
  The private key matching the public_key_hash of the kDomainsTest constraint
  in CertVerifyProc::HasNameConstraintsViolation.

===== From net/data/ssl/scripts/generate-quic-chain.sh
- quic-chain.pem
- quic-leaf-cert.key
- quic-leaf-cert.key.pkcs8.pem
- quic-root.pem
     These certificates are used by integration tests that use QUIC.

- quic-leaf-cert.key.sct
     This isn't generated and just contains a simple text file (the contents
     don't actually matter, just the presence of the file).

===== From net/data/ssl/scripts/generate-test-certs.sh
- expired_cert.pem
- ok_cert.pem
- root_ca_cert.pem
    These certificates are the common certificates used by the Python test
    server for simulating HTTPS connections.

- intermediate_ca_cert.pem
- ok_cert_by_intermediate.pem
    These certificates simulate a more common chain of root (root_ca_cert.pem)
    to intermediate (intermediate_ca_cert.pem) to leaf
    (ok_cert_by_intermediate.pem).

- wildcard_.pem
    A certificate and private key valid for *.example.org, used in various
    net unit tests.

- test_names.pem
    A certificate and private key valid for a number of test names. See
    [test_names] in ee.cnf. Other names may be added as needed.

- bad_validity.pem
    A certificate and private key only valid on 0001-01-01. Windows refuses to
    parse this certificate.

- spdy_pooling.pem : Used to test the handling of spdy IP connection pooling

- subjectAltName_sanity_check.pem : Used to test the handling of various types
     within the subjectAltName extension of a certificate.

- policies_sanity_check.pem : Used to test the parsing of various types of
     certificatePolicies extension policyQualifiers.

- punycodetest.pem : A test self-signed server certificate with punycode name.
     The common name is "xn--wgv71a119e.com" (日本語.com)

- sha1_2016.pem
    Used to test the handling of SHA1 certificates expiring in 2016.

- 10_year_validity.pem
- 11_year_validity.pem
- 39_months_after_2015_04.pem
- 40_months_after_2015_04.pem
- 60_months_after_2012_07.pem
- 61_months_after_2012_07.pem
- pre_br_validity_bad_121.pem
- pre_br_validity_bad_2020.pem
- pre_br_validity_ok.pem
- start_after_expiry.pem
    Certs to test that the maximum validity durations set by the CA/Browser
    Forum Baseline Requirements are enforced.

- pre_june_2016.pem
- post_june_2016.pem
- dec_2017.pem
   Certs to test that policies related to enforcing CT on Symantec are
   properly gated on the issuance date. See
   https://g.co/chrome/symantecpkicerts. (Note, however, that the leaf and
   root do not actually form a chain.)

- may_2018.pem
   An 825-day certificate issued on May 1, 2018, the official start of
   enforcement requiring Certificate Transparency for new certificates. This
   certificate does not have any embedded SCTs.

- x509_verify_results.chain.pem : A simple certificate chain used to test that
    the correctly ordered, filtered certificate chain is returned during
    verification, regardless of the order in which the intermediate/root CA
    certificates are provided.

- ev_test.pem
- ev_test_state_only.pem
     Certificates for testing EV display (including regression test for
     https://crbug.com/1069113).

===== From net/data/ssl/scripts/generate-weak-test-chains.sh
- 2048-rsa-root.pem
- {768-rsa,1024-rsa,2048-rsa,prime256v1-ecdsa}-intermediate.pem
- {768-rsa,1024-rsa,2048-rsa,prime256v1-ecdsa}-ee-by-
      {768-rsa,1024-rsa,2048-rsa,prime256v1-ecdsa}-intermediate.pem
      Test certificates used to ensure that weak keys are detected and rejected

===== From net/data/ssl/scripts/generate-cross-signed-certs.sh
- cross-signed-leaf.pem
- cross-signed-root-md5.pem
- cross-signed-root-sha256.pem
     A certificate chain for regression testing http://crbug.com/108514

===== From net/data/ssl/scripts/generate-redundant-test-chains.sh
- redundant-validated-chain.pem
- redundant-server-chain.pem
- redundant-validated-chain-root.pem

     Two chains, A -> B -> C -> D and A -> B -> C2 (C and C2 share the same
     public key) to test that SSLInfo gets the reconstructed, re-ordered
     chain instead of the chain as served. See
     SSLClientSocketTest.VerifyReturnChainProperlyOrdered in
     net/socket/ssl_client_socket_unittest.cc. These chains are valid until
     26 Feb 2022 and are generated by
     net/data/ssl/scripts/generate-redundant-test-chains.sh.

===== From net/data/ssl/scripts/generate-client-certificates.sh
- client_1.pem
- client_1.key
- client_1.pk8
- client_1_ca.pem
- client_2.pem
- client_2.key
- client_2.pk8
- client_2_ca.pem
- client_3.pem
- client_3.key
- client_3.pk8
- client_3_ca.pem
- client_4.pem
- client_4.key
- client_4.pk8
- client_4_ca.pem
- client_5.pem
- client_5.key
- client_5.pk8
- client_5_ca.pem
- client_6.pem
- client_6.key
- client_6.pk8
- client_6_ca.pem
- client_root_ca.pem
     This is a set of files used to unit test SSL client certificate
     authentication.
     - client_1_ca.pem and client_2_ca.pem are the certificates of
       two distinct signing CAs.
     - client_1.pem and client_1.key correspond to the certificate and
       private key for a first certificate signed by client_1_ca.pem.
     - client_2.pem and client_2.key correspond to the certificate and
       private key for a second certificate signed by client_2_ca.pem.
     - each .pk8 file contains the same key as the corresponding .key file
       as PKCS#8 PrivateKeyInfo in DER encoding.
     - client_3.pem is nearly identical to client_2.pem, except it is used
       to test wifi EAP-TLS authentication so it uses a different set
       of X509v3 extensions.  Specifically it includes two Subject
       Alternative Name fields recognized by Chrome OS.
     - client_4.pem is similar to client_2.pem but is a P-256 ECDSA key rather
       than RSA.
     - client_5.pem is similar to client_2.pem but is a P-384 ECDSA key rather
       than RSA.
     - client_6.pem is similar to client_2.pem but is a P-521 ECDSA key rather
       than RSA.
     - client_root_ca.pem is the CA certificate which signed client_*_ca.pem.

===== From net/data/ssl/scripts/generate-bad-eku-certs.sh
- eku-test-root.pem
- non-crit-codeSigning-chain.pem
- crit-codeSigning-chain.pem
     Two code-signing certificates (eKU: codeSigning; eKU: critical,
     codeSigning) which we use to test that clients are making sure that web
     server certs are checked for correct eKU fields (when an eKU field is
     present). Since codeSigning is not valid for web server auth, the checks
     should fail.

===== From net/data/ssl/scripts/generate-multi-root-test-chains.sh
- multi-root-chain1.pem
- multi-root-chain2.pem
     Two chains, A -> B -> C -> D and A -> B -> C2 -> E (C and C2 share the
     same public key) to test that certificate validation caching does not
     interfere with the chain_verify_callback used by CertVerifyProcChromeOS.
     See CertVerifyProcChromeOSTest.

===== From net/data/ssl/scripts/generate-multi-root-BFE-keychain.sh
- multi-root-BFE.keychain: An OSX Keychain containing the generated
  certificates "multi-root-B-by-F.pem" and "multi-root-F-by-E.pem".
- multi-root.keychain: An OSX Keychain containing the generated
  certificates multi-root-*-by-*.pem

===== From net/data/ssl/scripts/generate-duplicate-cn-certs.sh
- duplicate_cn_1.p12
- duplicate_cn_1.pem
- duplicate_cn_2.p12
- duplicate_cn_2.pem
     Two certificates from the same issuer that share the same common name,
     but have distinct subject names (namely, their O fields differ). NSS
     requires that certificates have unique nicknames if they do not share the
     same subject, and these certificates are used to test that the nickname
     generation algorithm generates unique nicknames.
     The .pem versions contain just the certs, while the .p12 versions contain
     both the cert and a private key, since there are multiple ways to import
     certificates into NSS.

===== From net/data/ssl/scripts/generate-self-signed-certs.sh
- self-signed-invalid-name.pem
- self-signed-invalid-sig.pem
     Two "self-signed" certificates with mismatched names or an invalid
     signature, respectively.

===== From net/data/ssl/scripts/generate-key-usage-certs.sh
- key_usage_rsa_no_extension.pem
- key_usage_rsa_keyencipherment.pem
- key_usage_rsa_digitalsignature.pem
- key_usage_rsa_both.pem
     Self-signed RSA certificates with various combinations of keyUsage
     flags. Their private key is key_usage_rsa.key.

- key_usage_p256_no_extension.pem
- key_usage_p256_keyagreement.pem
- key_usage_p256_digitalsignature.pem
- key_usage_p256_both.pem
     Self-signed P-256 certificates with various combinations of keyUsage
     flags. Their private key is key_usage_p256.key.