OLD | NEW |
1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 2012 The Chromium Authors. All rights reserved. |
2 // Use of this source code is governed by a BSD-style license that can be | 2 // Use of this source code is governed by a BSD-style license that can be |
3 // found in the LICENSE file. | 3 // found in the LICENSE file. |
4 | 4 |
5 #include "net/cert/cert_verify_proc.h" | 5 #include "net/cert/cert_verify_proc.h" |
6 | 6 |
7 #include <vector> | 7 #include <vector> |
8 | 8 |
9 #include "base/callback_helpers.h" | 9 #include "base/callback_helpers.h" |
10 #include "base/files/file_path.h" | 10 #include "base/files/file_path.h" |
(...skipping 1292 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
1303 certs[0]->os_cert_handle(), intermediates); | 1303 certs[0]->os_cert_handle(), intermediates); |
1304 ASSERT_TRUE(cert_chain); | 1304 ASSERT_TRUE(cert_chain); |
1305 ASSERT_EQ(2U, cert_chain->GetIntermediateCertificates().size()); | 1305 ASSERT_EQ(2U, cert_chain->GetIntermediateCertificates().size()); |
1306 | 1306 |
1307 int flags = 0; | 1307 int flags = 0; |
1308 CertVerifyResult verify_result; | 1308 CertVerifyResult verify_result; |
1309 int error = Verify(cert_chain.get(), "127.0.0.1", flags, NULL, | 1309 int error = Verify(cert_chain.get(), "127.0.0.1", flags, NULL, |
1310 CertificateList(), &verify_result); | 1310 CertificateList(), &verify_result); |
1311 EXPECT_THAT(error, IsOk()); | 1311 EXPECT_THAT(error, IsOk()); |
1312 | 1312 |
1313 // There are 2 hashes each of the 3 certificates in the verified chain. | 1313 EXPECT_EQ(3u, verify_result.public_key_hashes.size()); |
1314 EXPECT_EQ(6u, verify_result.public_key_hashes.size()); | |
1315 | 1314 |
1316 // Convert |public_key_hashes| to strings for ease of comparison. | 1315 // Convert |public_key_hashes| to strings for ease of comparison. |
1317 std::vector<std::string> public_key_hash_strings; | 1316 std::vector<std::string> public_key_hash_strings; |
1318 for (const auto& public_key_hash : verify_result.public_key_hashes) | 1317 for (const auto& public_key_hash : verify_result.public_key_hashes) |
1319 public_key_hash_strings.push_back(public_key_hash.ToString()); | 1318 public_key_hash_strings.push_back(public_key_hash.ToString()); |
1320 | 1319 |
1321 std::vector<std::string> expected_public_key_hashes = { | 1320 std::vector<std::string> expected_public_key_hashes = { |
1322 // Target | 1321 // Target |
1323 "sha1/eykCtxdjf+9TcP+dle4RZOcuWfI=", | |
1324 "sha256/jpsUnwFFTO7e+l5zQDYhutkf7uA+dCVsWfRvv0UDX40=", | 1322 "sha256/jpsUnwFFTO7e+l5zQDYhutkf7uA+dCVsWfRvv0UDX40=", |
1325 | 1323 |
1326 // Intermediate | 1324 // Intermediate |
1327 "sha1/UCuWOTyNcmLrd/Ie2jTjCHyGV7M=", | |
1328 "sha256/D9u0epgvPYlG9YiVp7V+IMT+xhUpB5BhsS/INjDXc4Y=", | 1325 "sha256/D9u0epgvPYlG9YiVp7V+IMT+xhUpB5BhsS/INjDXc4Y=", |
1329 | 1326 |
1330 // Trust anchor | 1327 // Trust anchor |
1331 "sha1/7lRAdhiny84OU7rosLno5A+v0ls=", | |
1332 "sha256/VypP3VWL7OaqTJ7mIBehWYlv8khPuFHpWiearZI2YjI="}; | 1328 "sha256/VypP3VWL7OaqTJ7mIBehWYlv8khPuFHpWiearZI2YjI="}; |
1333 | 1329 |
1334 // |public_key_hashes| does not have an ordering guarantee. | 1330 // |public_key_hashes| does not have an ordering guarantee. |
1335 EXPECT_THAT(expected_public_key_hashes, | 1331 EXPECT_THAT(expected_public_key_hashes, |
1336 testing::UnorderedElementsAreArray(public_key_hash_strings)); | 1332 testing::UnorderedElementsAreArray(public_key_hash_strings)); |
1337 } | 1333 } |
1338 | 1334 |
1339 // A regression test for http://crbug.com/70293. | 1335 // A regression test for http://crbug.com/70293. |
1340 // The certificate in question has a key purpose of clientAuth, and also lacks | 1336 // The certificate in question has a key purpose of clientAuth, and also lacks |
1341 // the required key usage for serverAuth. | 1337 // the required key usage for serverAuth. |
(...skipping 1180 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
2522 int flags = 0; | 2518 int flags = 0; |
2523 CertVerifyResult verify_result; | 2519 CertVerifyResult verify_result; |
2524 int error = verify_proc->Verify(cert.get(), "127.0.0.1", std::string(), flags, | 2520 int error = verify_proc->Verify(cert.get(), "127.0.0.1", std::string(), flags, |
2525 NULL, CertificateList(), &verify_result); | 2521 NULL, CertificateList(), &verify_result); |
2526 EXPECT_EQ(OK, error); | 2522 EXPECT_EQ(OK, error); |
2527 histograms.ExpectTotalCount(kTLSFeatureExtensionHistogram, 0); | 2523 histograms.ExpectTotalCount(kTLSFeatureExtensionHistogram, 0); |
2528 histograms.ExpectTotalCount(kTLSFeatureExtensionOCSPHistogram, 0); | 2524 histograms.ExpectTotalCount(kTLSFeatureExtensionOCSPHistogram, 0); |
2529 } | 2525 } |
2530 | 2526 |
2531 } // namespace net | 2527 } // namespace net |
OLD | NEW |