326 lines
13 KiB
Plaintext
326 lines
13 KiB
Plaintext
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/
|
|
|
|
- leaf_from_known_root.pem : A certificate issued by a public trust anchor,
|
|
used for CertVerifyProcInternalTest.TestKnownRoot. Using for other
|
|
purposes is not recommended. This needs to be updated periodically so the
|
|
server name the cert is valid for may change.
|
|
|
|
- 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.
|
|
|
|
===== 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-keychain.sh
|
|
- 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.
|