1 This directory contains various certificates for use with SSL-related
4 ===== Real-world certificates that need manual updating
12 - thawte.single.pem : Certificates for testing parsing of different formats.
14 - googlenew.chain.pem : The refreshed Google certificate
15 (valid until Sept 30 2013).
17 - mit.davidben.der : An expired MIT client certificate.
19 - foaf.me.chromium-test-cert.der : A client certificate for a FOAF.ME identity
22 - www_us_army_mil_cert.der
24 - dod_root_ca_2_cert.der :
25 A certificate chain used for testing certificate imports
27 - unosoft_hu_cert : Certificate used by X509CertificateTest.UnoSoftCertParsing.
29 - google_diginotar.pem
30 - diginotar_public_ca_2025.pem : A certificate chain for the regression test
31 of http://crbug.com/94673
33 - salesforce_com_test.pem
34 - verisign_intermediate_ca_2011.pem
35 - verisign_intermediate_ca_2016.pem : Certificates for testing two
36 X509Certificate objects that contain the same server certificate but
37 different intermediate CA certificates. The two intermediate CA
38 certificates actually represent the same intermediate CA but have
39 different validity periods.
41 - cybertrust_gte_root.pem
42 - cybertrust_baltimore_root.pem
43 - cybertrust_omniroot_chain.pem
44 - cybertrust_baltimore_cross_certified_1.pem
45 - cybertrust_baltimore_cross_certified_2.pem
46 These certificates are reflect a portion of the CyberTrust (Verizon
47 Business) CA hierarchy. _gte_root.pem is a legacy 1024-bit root that is
48 still widely supported, while _baltimore_root.pem reflects the newer
49 2048-bit root. For clients that only support the GTE root, two versions
50 of the Baltimore root were cross-signed by GTE, namely
51 _cross_certified_[1,2].pem. _omniroot_chain.pem contains a certificate
52 chain that was issued under the Baltimore root. Combined, these
53 certificates can be used to test real-world cross-signing; in practice,
54 they are used to test certain workarounds for OS X's chain building code.
56 - ndn.ca.crt: "New Dream Network Certificate Authority" root certificate.
57 This is an X.509 v1 certificate that omits the version field. Used to
58 test that the certificate version gets the default value v1.
60 - ct-test-embedded-cert.pem
61 - ct-test-embedded-with-intermediate-chain.pem
62 - ct-test-embedded-with-intermediate-preca-chain.pem
63 - ct-test-embedded-with-preca-chain.pem
64 Test certificate chains for Certificate Transparency: Each of these
65 files contains a leaf certificate as the first certificate, which has
66 embedded SCTs, followed by the issuer certificates chain.
67 All files are from the src/test/testdada directory in
68 https://code.google.com/p/certificate-transparency/
70 - comodo.chain.pem : A certificate chain for www.comodo.com which should be
71 recognised as EV. Expires Jun 20 2015.
73 - twitter-chain.pem : A certificate chain for twitter.com which should be
74 valid. Expires May 9 2016.
76 ===== Manually generated certificates
77 - client.p12 : A PKCS #12 file containing a client certificate and a private
78 key created for testing. The password is "12345".
80 - client-nokey.p12 : A PKCS #12 file containing a client certificate (the same
81 as the one in client.p12) but no private key. The password is "12345".
83 - unittest.selfsigned.der : A self-signed certificate generated using private
84 key in unittest.key.bin. The common name is "unittest".
86 - unittest.key.bin : private key stored unencrypted.
88 - unittest.originbound.der: A test origin-bound certificate for
89 https://www.google.com:443.
90 - unittest.originbound.key.der: matching PrivateKeyInfo.
92 - x509_verify_results.chain.pem : A simple certificate chain used to test that
93 the correctly ordered, filtered certificate chain is returned during
94 verification, regardless of the order in which the intermediate/root CA
95 certificates are provided.
97 - test_mail_google_com.pem : A certificate signed by the test CA for
98 "mail.google.com". Because it is signed by that CA instead of the true CA
99 for that host, it will fail the
100 TransportSecurityState::IsChainOfPublicKeysPermitted test. Format
101 intentionally does not include diagnostic output.
103 - multivalue_rdn.pem : A regression test for http://crbug.com/101009. A
104 certificate with all of the AttributeTypeAndValues stored within a single
105 RelativeDistinguishedName, rather than one AVA per RDN as normally seen.
107 - unescaped.pem : Regression test for http://crbug.com/102839. Contains
108 characters such as '=' and '"' that would normally be escaped when
109 converting a subject/issuer name to their stringized form.
111 - ocsp-test-root.pem : A root certificate for the code in
112 net/tools/testserver/minica.py
114 - websocket_cacert.pem : The testing root CA for testing WebSocket client
115 certificate authentication.
116 This file is used in SSLUITest.TestWSSClientCert.
118 - websocket_client_cert.p12 : A PKCS #12 file containing a client certificate
119 and a private key created for WebSocket testing. The password is "".
120 This file is used in SSLUITest.TestWSSClientCert.
122 - no_subject_common_name_cert.pem: Used to test the function that generates a
123 NSS certificate nickname for a user certificate. This certificate's Subject
124 field doesn't have a common name.
126 - quic_intermediate.crt
127 - quic_test_ecc.example.com.crt
128 - quic_test.example.com.crt
130 These certificates are used by the ProofVerifier's unit tests of QUIC.
132 ===== From net/data/ssl/scripts/generate-test-certs.sh
136 These certificates are the common certificates used by the Python test
137 server for simulating HTTPS connections.
139 - name_constraint_bad.pem
140 - name_constraint_good.pem
141 Two certificates used to test the built-in ability to restrict a root to
142 a particular namespace.
145 A certificate and private key only valid on 0001-01-01. Windows refuses to
146 parse this certificate.
148 - sha256.pem: Used to test the handling of SHA-256 certs on Windows.
150 - spdy_pooling.pem : Used to test the handling of spdy IP connection pooling
152 - subjectAltName_sanity_check.pem : Used to test the handling of various types
153 within the subjectAltName extension of a certificate.
155 - punycodetest.pem : A test self-signed server certificate with punycode name.
156 The common name is "xn--wgv71a119e.com" (日本語.com)
158 - 10_year_validity.pem
159 - 11_year_validity.pem
160 - 39_months_after_2015_04.pem
161 - 40_months_after_2015_04.pem
162 - 60_months_after_2012_07.pem
163 - 61_months_after_2012_07.pem
164 - pre_br_validity_bad_121.pem
165 - pre_br_validity_bad_2020.pem
166 - pre_br_validity_ok.pem
167 - start_after_expiry.pem
168 Certs to test that the maximum validity durations set by the CA/Browser
169 Forum Baseline Requirements are enforced.
171 - reject_intranet_hosts.pem
172 A certificate with a non-IANA delegated domain, which is rejected since a CA
173 cannot validate the applicant controls that domain.
175 ===== From net/data/ssl/scripts/generate-weak-test-chains.sh
177 - {768-rsa,1024-rsa,2048-rsa,prime256v1-ecdsa}-intermediate.pem
178 - {768-rsa,1024-rsa,2048-rsa,prime256v1-ecdsa}-ee-by-
179 {768-rsa,1024-rsa,2048-rsa,prime256v1-ecdsa}-intermediate.pem
180 Test certificates used to ensure that weak keys are detected and rejected
182 ===== From net/data/ssl/scripts/generate-cross-signed-certs.sh
183 - cross-signed-leaf.pem
184 - cross-signed-root-md5.pem
185 - cross-signed-root-sha256.pem
186 A certificate chain for regression testing http://crbug.com/108514
188 ===== From net/data/ssl/scripts/generate-redundant-test-chains.sh
189 - redundant-validated-chain.pem
190 - redundant-server-chain.pem
191 - redundant-validated-chain-root.pem
193 Two chains, A -> B -> C -> D and A -> B -> C2 (C and C2 share the same
194 public key) to test that SSLInfo gets the reconstructed, re-ordered
195 chain instead of the chain as served. See
196 SSLClientSocketTest.VerifyReturnChainProperlyOrdered in
197 net/socket/ssl_client_socket_unittest.cc. These chains are valid until
198 26 Feb 2022 and are generated by
199 net/data/ssl/scripts/generate-redundant-test-chains.sh.
201 ===== From net/data/ssl/scripts/generate-policy-certs.sh
202 - explicit-policy-chain.pem
203 A test certificate chain with requireExplicitPolicy field set on the
204 intermediate, with SkipCerts=0. This is used for regression testing
205 http://crbug.com/31497.
207 ===== From net/data/ssl/scripts/generate-client-certificates.sh
216 This is a set of files used to unit test SSL client certificate
218 - client_1_ca.pem and client_2_ca.pem are the certificates of
219 two distinct signing CAs.
220 - client_1.pem and client_1.key correspond to the certificate and
221 private key for a first certificate signed by client_1_ca.pem.
222 - client_2.pem and client_2.key correspond to the certificate and
223 private key for a second certificate signed by client_2_ca.pem.
224 - each .pk8 file contains the same key as the corresponding .key file
225 as PKCS#8 PrivateKeyInfo in DER encoding.
227 ===== From net/data/ssl/scripts/generate-android-test-key.sh
228 - android-test-key-rsa.pem
229 - android-test-key-dsa.pem
230 - android-test-key-dsa-public.pem
231 - android-test-key-ecdsa.pem
232 - android-test-key-ecdsa-public.pem
233 This is a set of test RSA/DSA/ECDSA keys used by the Android-specific
234 unit test in net/android/keystore_unittest.c. They are used to verify
235 that the OpenSSL-specific wrapper for platform PrivateKey objects
236 works properly. See the generate-android-test-keys.sh script.
238 ===== From net/data/ssl/scripts/generate-bad-eku-certs.sh
240 - non-crit-codeSigning-chain.pem
241 - crit-codeSigning-chain.pem
242 Two code-signing certificates (eKU: codeSigning; eKU: critical,
243 codeSigning) which we use to test that clients are making sure that web
244 server certs are checked for correct eKU fields (when an eKU field is
245 present). Since codeSigning is not valid for web server auth, the checks
248 ===== From net/data/ssl/scripts/generate-multi-root-test-chains.sh
249 - multi-root-chain1.pem
250 - multi-root-chain2.pem
251 Two chains, A -> B -> C -> D and A -> B -> C2 -> E (C and C2 share the
252 same public key) to test that certificate validation caching does not
253 interfere with the chain_verify_callback used by CertVerifyProcChromeOS.
254 See CertVerifyProcChromeOSTest.
256 ===== From net/data/ssl/scripts/generate-duplicate-cn-certs.sh
261 Two certificates from the same issuer that share the same common name,
262 but have distinct subject names (namely, their O fields differ). NSS
263 requires that certificates have unique nicknames if they do not share the
264 same subject, and these certificates are used to test that the nickname
265 generation algorithm generates unique nicknames.
266 The .pem versions contain just the certs, while the .p12 versions contain
267 both the cert and a private key, since there are multiple ways to import
268 certificates into NSS.
270 ===== From net/data/ssl/scripts/generate-aia-certs.sh
272 - aia-intermediate.der
274 A certificate chain which we use to ensure AIA fetching works correctly
275 when using NSS to verify certificates (which uses our HTTP stack).
276 aia-cert.pem has a caIssuers that points to "aia-test.invalid" as the URL
277 containing the intermediate, which can be served via a URLRequestFilter.
278 aia-intermediate.der is stored in DER form for convenience, since that is
279 the form expected of certificates discovered via AIA.