| Index: net/base/x509_certificate_unittest.cc
|
| ===================================================================
|
| --- net/base/x509_certificate_unittest.cc (revision 107789)
|
| +++ net/base/x509_certificate_unittest.cc (working copy)
|
| @@ -436,6 +436,47 @@
|
| paypal_null_serial, sizeof(paypal_null_serial)) == 0);
|
| }
|
|
|
| +TEST(X509CertificateTest, ChainFingerprints) {
|
| + FilePath certs_dir = GetTestCertsDirectory();
|
| +
|
| + scoped_refptr<X509Certificate> server_cert =
|
| + ImportCertFromFile(certs_dir, "salesforce_com_test.pem");
|
| + ASSERT_NE(static_cast<X509Certificate*>(NULL), server_cert);
|
| +
|
| + scoped_refptr<X509Certificate> intermediate_cert1 =
|
| + ImportCertFromFile(certs_dir, "verisign_intermediate_ca_2011.pem");
|
| + ASSERT_NE(static_cast<X509Certificate*>(NULL), intermediate_cert1);
|
| +
|
| + scoped_refptr<X509Certificate> intermediate_cert2 =
|
| + ImportCertFromFile(certs_dir, "verisign_intermediate_ca_2016.pem");
|
| + ASSERT_NE(static_cast<X509Certificate*>(NULL), intermediate_cert2);
|
| +
|
| + X509Certificate::OSCertHandles intermediates;
|
| + intermediates.push_back(intermediate_cert1->os_cert_handle());
|
| + scoped_refptr<X509Certificate> cert_chain1 =
|
| + X509Certificate::CreateFromHandle(server_cert->os_cert_handle(),
|
| + intermediates);
|
| +
|
| + intermediates.clear();
|
| + intermediates.push_back(intermediate_cert2->os_cert_handle());
|
| + scoped_refptr<X509Certificate> cert_chain2 =
|
| + X509Certificate::CreateFromHandle(server_cert->os_cert_handle(),
|
| + intermediates);
|
| +
|
| + static const uint8 cert_chain1_fingerprint[20] = {
|
| + 0x67, 0x78, 0x81, 0xd7, 0x78, 0xca, 0xd5, 0x04, 0x73, 0xf8,
|
| + 0x95, 0xff, 0xf3, 0x39, 0xe4, 0xcd, 0x5e, 0xf0, 0x79, 0x76
|
| + };
|
| + static const uint8 cert_chain2_fingerprint[20] = {
|
| + 0x8c, 0x93, 0x85, 0xb0, 0x15, 0xd3, 0xa3, 0x0e, 0xe7, 0x4f,
|
| + 0x42, 0xf4, 0x30, 0xc3, 0xe9, 0x14, 0x12, 0x54, 0xb9, 0x9d
|
| + };
|
| + EXPECT_TRUE(memcmp(cert_chain1->chain_fingerprint().data,
|
| + cert_chain1_fingerprint, 20) == 0);
|
| + EXPECT_TRUE(memcmp(cert_chain2->chain_fingerprint().data,
|
| + cert_chain2_fingerprint, 20) == 0);
|
| +}
|
| +
|
| // A regression test for http://crbug.com/31497.
|
| // This certificate will expire on 2012-04-08.
|
| TEST(X509CertificateTest, IntermediateCARequireExplicitPolicy) {
|
|
|