| 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 | |
| - thawte.single.pem : Certificates for testing parsing of different formats. | |
| - login.trustwave.com.pem : | |
| Certificate for testing EV with multiple OIDs. Regression test for crbug.com/705285 | |
| - googlenew.chain.pem : The refreshed Google certificate | |
| (valid until Sept 30 2013). | |
| - 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. | |
| - unosoft_hu_cert : Certificate used by X509CertificateTest.UnoSoftCertParsing. | |
| - 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. | |
| - comodo.pem : A certificate chain for comodo.com which contains signed | |
| certificate timestamps that conform to Chrome's Certificate Transparency | |
| policy as of December 2017. | |
| - 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/ | |
| - daltonridgeapts.com-chain.pem : A long-lived (39 month), BR compliant, | |
| non-EV certificate, issued by a public trust anchor, and valid for the | |
| domain daltonridgeapts.com. | |
| - 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) | |
| - www.ahrn.com.pem: A certificate issued by the Legacy Symantec PKI in 2014, | |
| expires on 2019-10-27. | |
| ===== 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. | |
| - unittest.originbound.der: A test origin-bound certificate for | |
| https://www.google.com:443. | |
| - unittest.originbound.key.der: matching PrivateKeyInfo. | |
| - 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. | |
| - ocsp-test-root.pem : A root certificate for the code in | |
| net/tools/testserver/minica.py | |
| - 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. | |
| ===== 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. | |
| - name_constraint_bad.pem | |
| - name_constraint_good.pem | |
| Two certificates used to test the built-in ability to restrict a root to | |
| a particular namespace. | |
| - 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. | |
| - 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. | |
| - reject_intranet_hosts.pem | |
| A certificate with a non-IANA delegated domain, which is rejected since a CA | |
| cannot validate the applicant controls that domain. | |
| - 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. | |
| - tls_feature_extension.pem | |
| A certificate that contains the TLS Feature Extension. | |
| - 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. | |
| ===== 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-policy-certs.sh | |
| - explicit-policy-chain.pem | |
| A test certificate chain with requireExplicitPolicy field set on the | |
| intermediate, with SkipCerts=0. This is used for regression testing | |
| http://crbug.com/31497. | |
| ===== 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-aia-certs.sh | |
| - aia-cert.pem | |
| - aia-intermediate.der | |
| - aia-root.pem | |
| A certificate chain which we use to ensure AIA fetching works correctly | |
| when using NSS to verify certificates (which uses our HTTP stack). | |
| aia-cert.pem has a caIssuers that points to "aia-test.invalid" as the URL | |
| containing the intermediate, which can be served via a URLRequestFilter. | |
| aia-intermediate.der is stored in DER form for convenience, since that is | |
| the form expected of certificates discovered via AIA. | |
| ===== 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. |