Pin Chrome's shortcut to the Win10 Start menu on install and OS upgrade.
[chromium-blink-merge.git] / net / data / ssl / certificates / README
blob3f76a2a101cc12129e8f60b7ac30e323fd9f9009
1 This directory contains various certificates for use with SSL-related
2 unit tests.
4 ===== Real-world certificates that need manual updating
5 - google.binary.p7b
6 - google.chain.pem
7 - google.pem_cert.p7b
8 - google.pem_pkcs7.p7b
9 - google.pkcs7.p7b
10 - google.single.der
11 - google.single.pem
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
20      created for testing.
22 - www_us_army_mil_cert.der
23 - dod_ca_17_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
129 - quic_root.crt
130      These certificates are used by the ProofVerifier's unit tests of QUIC.
132 ===== From net/data/ssl/scripts/generate-test-certs.sh
133 - expired_cert.pem
134 - ok_cert.pem
135 - root_ca_cert.pem
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.
144 - sha256.pem: Used to test the handling of SHA-256 certs on Windows.
146 - spdy_pooling.pem : Used to test the handling of spdy IP connection pooling
148 - subjectAltName_sanity_check.pem : Used to test the handling of various types
149      within the subjectAltName extension of a certificate.
151 - punycodetest.pem : A test self-signed server certificate with punycode name.
152      The common name is "xn--wgv71a119e.com" (日本語.com)
154 - 10_year_validity.pem
155 - 11_year_validity.pem
156 - 39_months_after_2015_04.pem
157 - 40_months_after_2015_04.pem
158 - 60_months_after_2012_07.pem
159 - 61_months_after_2012_07.pem
160 - pre_br_validity_bad_121.pem
161 - pre_br_validity_bad_2020.pem
162 - pre_br_validity_ok.pem
163 - start_after_expiry.pem
164     Certs to test that the maximum validity durations set by the CA/Browser
165     Forum Baseline Requirements are enforced.
167 - reject_intranet_hosts.pem
168    A certificate with a non-IANA delegated domain, which is rejected since a CA
169    cannot validate the applicant controls that domain.
171 ===== From net/data/ssl/scripts/generate-weak-test-chains.sh
172 - 2048-rsa-root.pem
173 - {768-rsa,1024-rsa,2048-rsa,prime256v1-ecdsa}-intermediate.pem
174 - {768-rsa,1024-rsa,2048-rsa,prime256v1-ecdsa}-ee-by-
175       {768-rsa,1024-rsa,2048-rsa,prime256v1-ecdsa}-intermediate.pem
176       Test certificates used to ensure that weak keys are detected and rejected
178 ===== From net/data/ssl/scripts/generate-cross-signed-certs.sh
179 - cross-signed-leaf.pem
180 - cross-signed-root-md5.pem
181 - cross-signed-root-sha256.pem
182      A certificate chain for regression testing http://crbug.com/108514
184 ===== From net/data/ssl/scripts/generate-redundant-test-chains.sh
185 - redundant-validated-chain.pem
186 - redundant-server-chain.pem
187 - redundant-validated-chain-root.pem
189      Two chains, A -> B -> C -> D and A -> B -> C2 (C and C2 share the same
190      public key) to test that SSLInfo gets the reconstructed, re-ordered
191      chain instead of the chain as served. See
192      SSLClientSocketTest.VerifyReturnChainProperlyOrdered in
193      net/socket/ssl_client_socket_unittest.cc. These chains are valid until
194      26 Feb 2022 and are generated by
195      net/data/ssl/scripts/generate-redundant-test-chains.sh.
197 ===== From net/data/ssl/scripts/generate-policy-certs.sh
198 - explicit-policy-chain.pem
199      A test certificate chain with requireExplicitPolicy field set on the
200      intermediate, with SkipCerts=0. This is used for regression testing
201      http://crbug.com/31497.
203 ===== From net/data/ssl/scripts/generate-client-certificates.sh
204 - client_1.pem
205 - client_1.key
206 - client_1.pk8
207 - client_1_ca.pem
208 - client_2.pem
209 - client_2.key
210 - client_2.pk8
211 - client_2_ca.pem
212      This is a set of files used to unit test SSL client certificate
213      authentication.
214      - client_1_ca.pem and client_2_ca.pem are the certificates of
215        two distinct signing CAs.
216      - client_1.pem and client_1.key correspond to the certificate and
217        private key for a first certificate signed by client_1_ca.pem.
218      - client_2.pem and client_2.key correspond to the certificate and
219        private key for a second certificate signed by client_2_ca.pem.
220      - each .pk8 file contains the same key as the corresponding .key file
221        as PKCS#8 PrivateKeyInfo in DER encoding.
223 ===== From net/data/ssl/scripts/generate-android-test-key.sh
224 - android-test-key-rsa.pem
225 - android-test-key-dsa.pem
226 - android-test-key-dsa-public.pem
227 - android-test-key-ecdsa.pem
228 - android-test-key-ecdsa-public.pem
229      This is a set of test RSA/DSA/ECDSA keys used by the Android-specific
230      unit test in net/android/keystore_unittest.c. They are used to verify
231      that the OpenSSL-specific wrapper for platform PrivateKey objects
232      works properly. See the generate-android-test-keys.sh script.
234 ===== From net/data/ssl/scripts/generate-bad-eku-certs.sh
235 - eku-test-root.pem
236 - non-crit-codeSigning-chain.pem
237 - crit-codeSigning-chain.pem
238      Two code-signing certificates (eKU: codeSigning; eKU: critical,
239      codeSigning) which we use to test that clients are making sure that web
240      server certs are checked for correct eKU fields (when an eKU field is
241      present). Since codeSigning is not valid for web server auth, the checks
242      should fail.
244 ===== From net/data/ssl/scripts/generate-multi-root-test-chains.sh
245 - multi-root-chain1.pem
246 - multi-root-chain2.pem
247      Two chains, A -> B -> C -> D and A -> B -> C2 -> E (C and C2 share the
248      same public key) to test that certificate validation caching does not
249      interfere with the chain_verify_callback used by CertVerifyProcChromeOS.
250      See CertVerifyProcChromeOSTest.
252 ===== From net/data/ssl/scripts/generate-duplicate-cn-certs.sh
253 - duplicate_cn_1.p12
254 - duplicate_cn_1.pem
255 - duplicate_cn_2.p12
256 - duplicate_cn_2.pem
257      Two certificates from the same issuer that share the same common name,
258      but have distinct subject names (namely, their O fields differ). NSS
259      requires that certificates have unique nicknames if they do not share the
260      same subject, and these certificates are used to test that the nickname
261      generation algorithm generates unique nicknames.
262      The .pem versions contain just the certs, while the .p12 versions contain
263      both the cert and a private key, since there are multiple ways to import
264      certificates into NSS.
266 ===== From net/data/ssl/scripts/generate-aia-certs.sh
267 - aia-cert.pem
268 - aia-intermediate.der
269 - aia-root.pem
270      A certificate chain which we use to ensure AIA fetching works correctly
271      when using NSS to verify certificates (which uses our HTTP stack).
272      aia-cert.pem has a caIssuers that points to "aia-test.invalid" as the URL
273      containing the intermediate, which can be served via a URLRequestFilter.
274      aia-intermediate.der is stored in DER form for convenience, since that is
275      the form expected of certificates discovered via AIA.