| 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. |