Chromium Code Reviews| Index: net/quic/crypto/proof_verifier_chromium_test.cc |
| diff --git a/net/quic/crypto/proof_verifier_chromium_test.cc b/net/quic/crypto/proof_verifier_chromium_test.cc |
| index 1c48d3f01e4acdb9e7f9eb17c048d6c36420c2c9..733e781952d1d82143570ee58d54d003b44e776a 100644 |
| --- a/net/quic/crypto/proof_verifier_chromium_test.cc |
| +++ b/net/quic/crypto/proof_verifier_chromium_test.cc |
| @@ -103,7 +103,8 @@ const char kLogDescription[] = "somelog"; |
| class ProofVerifierChromiumTest : public ::testing::Test { |
| public: |
| ProofVerifierChromiumTest() |
| - : verify_context_(new ProofVerifyContextChromium(0 /*cert_verify_flags*/, |
| + : ct_policy_enforcer_(false /*is_ev*/), |
| + verify_context_(new ProofVerifyContextChromium(0 /*cert_verify_flags*/, |
| BoundNetLog())) {} |
| void SetUp() override { |
| @@ -198,6 +199,9 @@ class ProofVerifierChromiumTest : public ::testing::Test { |
| } |
| protected: |
| + TransportSecurityState transport_security_state_; |
| + MockCTPolicyEnforcer ct_policy_enforcer_; |
| + |
| std::unique_ptr<MultiLogCTVerifier> ct_verifier_; |
| std::vector<scoped_refptr<const CTLogVerifier>> log_verifiers_; |
| std::unique_ptr<ProofVerifyContext> verify_context_; |
| @@ -210,7 +214,8 @@ class ProofVerifierChromiumTest : public ::testing::Test { |
| // verification fails. |
| TEST_F(ProofVerifierChromiumTest, FailsIfCertFails) { |
| MockCertVerifier dummy_verifier; |
| - ProofVerifierChromium proof_verifier(&dummy_verifier, nullptr, nullptr, |
| + ProofVerifierChromium proof_verifier(&dummy_verifier, &ct_policy_enforcer_, |
| + &transport_security_state_, |
| ct_verifier_.get()); |
| std::unique_ptr<DummyProofVerifierCallback> callback( |
| @@ -228,7 +233,8 @@ TEST_F(ProofVerifierChromiumTest, ValidSCTList) { |
| ASSERT_NO_FATAL_FAILURE(GetSCTTestCertificates(&certs_)); |
| MockCertVerifier cert_verifier; |
| - ProofVerifierChromium proof_verifier(&cert_verifier, nullptr, nullptr, |
| + ProofVerifierChromium proof_verifier(&cert_verifier, &ct_policy_enforcer_, |
| + &transport_security_state_, |
| ct_verifier_.get()); |
| std::unique_ptr<DummyProofVerifierCallback> callback( |
| @@ -247,7 +253,8 @@ TEST_F(ProofVerifierChromiumTest, InvalidSCTList) { |
| ASSERT_NO_FATAL_FAILURE(GetSCTTestCertificates(&certs_)); |
| MockCertVerifier cert_verifier; |
| - ProofVerifierChromium proof_verifier(&cert_verifier, nullptr, nullptr, |
| + ProofVerifierChromium proof_verifier(&cert_verifier, &ct_policy_enforcer_, |
| + &transport_security_state_, |
| ct_verifier_.get()); |
| std::unique_ptr<DummyProofVerifierCallback> callback( |
| @@ -264,7 +271,8 @@ TEST_F(ProofVerifierChromiumTest, InvalidSCTList) { |
| // signature fails. |
| TEST_F(ProofVerifierChromiumTest, FailsIfSignatureFails) { |
| FailsTestCertVerifier cert_verifier; |
| - ProofVerifierChromium proof_verifier(&cert_verifier, nullptr, nullptr, |
| + ProofVerifierChromium proof_verifier(&cert_verifier, &ct_policy_enforcer_, |
| + &transport_security_state_, |
| ct_verifier_.get()); |
| std::unique_ptr<DummyProofVerifierCallback> callback( |
| @@ -276,37 +284,6 @@ TEST_F(ProofVerifierChromiumTest, FailsIfSignatureFails) { |
| ASSERT_EQ(QUIC_FAILURE, status); |
| } |
| -// Tests that EV certificates are left as EV if there is no certificate |
| -// policy enforcement. |
| -TEST_F(ProofVerifierChromiumTest, PreservesEVIfNoPolicy) { |
|
Ryan Hamilton
2016/06/16 03:31:04
Yay! :>
|
| - scoped_refptr<X509Certificate> test_cert = GetTestServerCertificate(); |
| - ASSERT_TRUE(test_cert); |
| - |
| - CertVerifyResult dummy_result; |
| - dummy_result.verified_cert = test_cert; |
| - dummy_result.cert_status = CERT_STATUS_IS_EV; |
| - |
| - MockCertVerifier dummy_verifier; |
| - dummy_verifier.AddResultForCert(test_cert.get(), dummy_result, OK); |
| - |
| - ProofVerifierChromium proof_verifier(&dummy_verifier, nullptr, nullptr, |
| - ct_verifier_.get()); |
| - |
| - std::unique_ptr<DummyProofVerifierCallback> callback( |
| - new DummyProofVerifierCallback); |
| - QuicAsyncStatus status = proof_verifier.VerifyProof( |
| - kTestHostname, kTestPort, kTestConfig, QUIC_VERSION_25, "", certs_, "", |
| - GetTestSignature(), verify_context_.get(), &error_details_, &details_, |
| - callback.get()); |
| - ASSERT_EQ(QUIC_SUCCESS, status); |
| - |
| - ASSERT_TRUE(details_.get()); |
| - ProofVerifyDetailsChromium* verify_details = |
| - static_cast<ProofVerifyDetailsChromium*>(details_.get()); |
| - EXPECT_EQ(dummy_result.cert_status, |
| - verify_details->cert_verify_result.cert_status); |
| -} |
| - |
| // Tests that the certificate policy enforcer is consulted for EV |
| // and the certificate is allowed to be EV. |
| TEST_F(ProofVerifierChromiumTest, PreservesEVIfAllowed) { |
| @@ -323,7 +300,8 @@ TEST_F(ProofVerifierChromiumTest, PreservesEVIfAllowed) { |
| MockCTPolicyEnforcer policy_enforcer(true /*is_ev*/); |
| ProofVerifierChromium proof_verifier(&dummy_verifier, &policy_enforcer, |
| - nullptr, ct_verifier_.get()); |
| + &transport_security_state_, |
| + ct_verifier_.get()); |
| std::unique_ptr<DummyProofVerifierCallback> callback( |
| new DummyProofVerifierCallback); |
| @@ -356,7 +334,8 @@ TEST_F(ProofVerifierChromiumTest, StripsEVIfNotAllowed) { |
| MockCTPolicyEnforcer policy_enforcer(false /*is_ev*/); |
| ProofVerifierChromium proof_verifier(&dummy_verifier, &policy_enforcer, |
| - nullptr, ct_verifier_.get()); |
| + &transport_security_state_, |
| + ct_verifier_.get()); |
| std::unique_ptr<DummyProofVerifierCallback> callback( |
| new DummyProofVerifierCallback); |
| @@ -390,7 +369,8 @@ TEST_F(ProofVerifierChromiumTest, IgnoresPolicyEnforcerIfNotEV) { |
| FailsTestCTPolicyEnforcer policy_enforcer; |
| ProofVerifierChromium proof_verifier(&dummy_verifier, &policy_enforcer, |
| - nullptr, ct_verifier_.get()); |
| + &transport_security_state_, |
| + ct_verifier_.get()); |
| std::unique_ptr<DummyProofVerifierCallback> callback( |
| new DummyProofVerifierCallback); |
| @@ -434,8 +414,10 @@ TEST_F(ProofVerifierChromiumTest, PKPEnforced) { |
| kTestHostname, base::Time::Now() + base::TimeDelta::FromSeconds(10000), |
| true, pin_hashes, GURL()); |
| - ProofVerifierChromium proof_verifier(&dummy_verifier, nullptr, |
| - &transport_security_state, nullptr); |
| + MockCTPolicyEnforcer policy_enforcer(true /*is_ev*/); |
| + ProofVerifierChromium proof_verifier(&dummy_verifier, &policy_enforcer, |
| + &transport_security_state, |
| + ct_verifier_.get()); |
| std::unique_ptr<DummyProofVerifierCallback> callback( |
| new DummyProofVerifierCallback); |
| @@ -474,8 +456,10 @@ TEST_F(ProofVerifierChromiumTest, PKPBypassFlagSet) { |
| kTestHostname, base::Time::Now() + base::TimeDelta::FromSeconds(10000), |
| true, expected_hashes, GURL()); |
| - ProofVerifierChromium proof_verifier(&dummy_verifier, nullptr, |
| - &transport_security_state_fail, nullptr); |
| + MockCTPolicyEnforcer policy_enforcer(true /*is_ev*/); |
| + ProofVerifierChromium proof_verifier(&dummy_verifier, &policy_enforcer, |
| + &transport_security_state_fail, |
| + ct_verifier_.get()); |
| std::unique_ptr<DummyProofVerifierCallback> callback( |
| new DummyProofVerifierCallback); |