OLD | NEW |
1 // Copyright 2015 The Chromium Authors. All rights reserved. | 1 // Copyright 2015 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/quic/chromium/crypto/proof_verifier_chromium.h" | 5 #include "net/quic/chromium/crypto/proof_verifier_chromium.h" |
6 | 6 |
7 #include "base/memory/ref_counted.h" | 7 #include "base/memory/ref_counted.h" |
8 #include "net/base/net_errors.h" | 8 #include "net/base/net_errors.h" |
9 #include "net/cert/cert_status_flags.h" | 9 #include "net/cert/cert_status_flags.h" |
10 #include "net/cert/cert_verifier.h" | 10 #include "net/cert/cert_verifier.h" |
(...skipping 24 matching lines...) Expand all Loading... |
35 public: | 35 public: |
36 FailsTestCertVerifier() {} | 36 FailsTestCertVerifier() {} |
37 ~FailsTestCertVerifier() override {} | 37 ~FailsTestCertVerifier() override {} |
38 | 38 |
39 // CertVerifier implementation | 39 // CertVerifier implementation |
40 int Verify(const RequestParams& params, | 40 int Verify(const RequestParams& params, |
41 CRLSet* crl_set, | 41 CRLSet* crl_set, |
42 CertVerifyResult* verify_result, | 42 CertVerifyResult* verify_result, |
43 const CompletionCallback& callback, | 43 const CompletionCallback& callback, |
44 std::unique_ptr<Request>* out_req, | 44 std::unique_ptr<Request>* out_req, |
45 const BoundNetLog& net_log) override { | 45 const NetLogWithSource& net_log) override { |
46 ADD_FAILURE() << "CertVerifier::Verify() should not be called"; | 46 ADD_FAILURE() << "CertVerifier::Verify() should not be called"; |
47 return ERR_FAILED; | 47 return ERR_FAILED; |
48 } | 48 } |
49 }; | 49 }; |
50 | 50 |
51 // CTPolicyEnforcer that will fail the test if it is ever called. | 51 // CTPolicyEnforcer that will fail the test if it is ever called. |
52 class FailsTestCTPolicyEnforcer : public CTPolicyEnforcer { | 52 class FailsTestCTPolicyEnforcer : public CTPolicyEnforcer { |
53 public: | 53 public: |
54 FailsTestCTPolicyEnforcer() {} | 54 FailsTestCTPolicyEnforcer() {} |
55 ~FailsTestCTPolicyEnforcer() override {} | 55 ~FailsTestCTPolicyEnforcer() override {} |
56 | 56 |
57 ct::EVPolicyCompliance DoesConformToCTEVPolicy( | 57 ct::EVPolicyCompliance DoesConformToCTEVPolicy( |
58 X509Certificate* cert, | 58 X509Certificate* cert, |
59 const ct::EVCertsWhitelist* ev_whitelist, | 59 const ct::EVCertsWhitelist* ev_whitelist, |
60 const ct::SCTList& verified_scts, | 60 const ct::SCTList& verified_scts, |
61 const BoundNetLog& net_log) override { | 61 const NetLogWithSource& net_log) override { |
62 ADD_FAILURE() << "CTPolicyEnforcer::DoesConformToCTEVPolicy() should " | 62 ADD_FAILURE() << "CTPolicyEnforcer::DoesConformToCTEVPolicy() should " |
63 << "not be called"; | 63 << "not be called"; |
64 return ct::EVPolicyCompliance::EV_POLICY_DOES_NOT_APPLY; | 64 return ct::EVPolicyCompliance::EV_POLICY_DOES_NOT_APPLY; |
65 } | 65 } |
66 }; | 66 }; |
67 | 67 |
68 // A mock CTPolicyEnforcer that returns a custom verification result. | 68 // A mock CTPolicyEnforcer that returns a custom verification result. |
69 class MockCTPolicyEnforcer : public CTPolicyEnforcer { | 69 class MockCTPolicyEnforcer : public CTPolicyEnforcer { |
70 public: | 70 public: |
71 MOCK_METHOD3(DoesConformToCertPolicy, | 71 MOCK_METHOD3(DoesConformToCertPolicy, |
72 ct::CertPolicyCompliance(X509Certificate* cert, | 72 ct::CertPolicyCompliance(X509Certificate* cert, |
73 const ct::SCTList&, | 73 const ct::SCTList&, |
74 const BoundNetLog&)); | 74 const NetLogWithSource&)); |
75 MOCK_METHOD4(DoesConformToCTEVPolicy, | 75 MOCK_METHOD4(DoesConformToCTEVPolicy, |
76 ct::EVPolicyCompliance(X509Certificate* cert, | 76 ct::EVPolicyCompliance(X509Certificate* cert, |
77 const ct::EVCertsWhitelist*, | 77 const ct::EVCertsWhitelist*, |
78 const ct::SCTList&, | 78 const ct::SCTList&, |
79 const BoundNetLog&)); | 79 const NetLogWithSource&)); |
80 }; | 80 }; |
81 | 81 |
82 class MockRequireCTDelegate : public TransportSecurityState::RequireCTDelegate { | 82 class MockRequireCTDelegate : public TransportSecurityState::RequireCTDelegate { |
83 public: | 83 public: |
84 MOCK_METHOD1(IsCTRequiredForHost, | 84 MOCK_METHOD1(IsCTRequiredForHost, |
85 CTRequirementLevel(const std::string& host)); | 85 CTRequirementLevel(const std::string& host)); |
86 }; | 86 }; |
87 | 87 |
88 class DummyProofVerifierCallback : public ProofVerifierCallback { | 88 class DummyProofVerifierCallback : public ProofVerifierCallback { |
89 public: | 89 public: |
(...skipping 11 matching lines...) Expand all Loading... |
101 const uint16_t kTestPort = 8443; | 101 const uint16_t kTestPort = 8443; |
102 const char kTestConfig[] = "server config bytes"; | 102 const char kTestConfig[] = "server config bytes"; |
103 const char kLogDescription[] = "somelog"; | 103 const char kLogDescription[] = "somelog"; |
104 | 104 |
105 } // namespace | 105 } // namespace |
106 | 106 |
107 class ProofVerifierChromiumTest : public ::testing::Test { | 107 class ProofVerifierChromiumTest : public ::testing::Test { |
108 public: | 108 public: |
109 ProofVerifierChromiumTest() | 109 ProofVerifierChromiumTest() |
110 : verify_context_(new ProofVerifyContextChromium(0 /*cert_verify_flags*/, | 110 : verify_context_(new ProofVerifyContextChromium(0 /*cert_verify_flags*/, |
111 BoundNetLog())) {} | 111 NetLogWithSource())) {} |
112 | 112 |
113 void SetUp() override { | 113 void SetUp() override { |
114 EXPECT_CALL(ct_policy_enforcer_, DoesConformToCertPolicy(_, _, _)) | 114 EXPECT_CALL(ct_policy_enforcer_, DoesConformToCertPolicy(_, _, _)) |
115 .WillRepeatedly( | 115 .WillRepeatedly( |
116 Return(ct::CertPolicyCompliance::CERT_POLICY_NOT_ENOUGH_SCTS)); | 116 Return(ct::CertPolicyCompliance::CERT_POLICY_NOT_ENOUGH_SCTS)); |
117 EXPECT_CALL(ct_policy_enforcer_, DoesConformToCTEVPolicy(_, _, _, _)) | 117 EXPECT_CALL(ct_policy_enforcer_, DoesConformToCTEVPolicy(_, _, _, _)) |
118 .WillRepeatedly( | 118 .WillRepeatedly( |
119 Return(ct::EVPolicyCompliance::EV_POLICY_DOES_NOT_APPLY)); | 119 Return(ct::EVPolicyCompliance::EV_POLICY_DOES_NOT_APPLY)); |
120 | 120 |
121 scoped_refptr<const CTLogVerifier> log( | 121 scoped_refptr<const CTLogVerifier> log( |
(...skipping 491 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
613 ASSERT_EQ(QUIC_SUCCESS, status); | 613 ASSERT_EQ(QUIC_SUCCESS, status); |
614 | 614 |
615 ASSERT_TRUE(details_.get()); | 615 ASSERT_TRUE(details_.get()); |
616 ProofVerifyDetailsChromium* verify_details = | 616 ProofVerifyDetailsChromium* verify_details = |
617 static_cast<ProofVerifyDetailsChromium*>(details_.get()); | 617 static_cast<ProofVerifyDetailsChromium*>(details_.get()); |
618 EXPECT_EQ(0u, verify_details->cert_verify_result.cert_status); | 618 EXPECT_EQ(0u, verify_details->cert_verify_result.cert_status); |
619 } | 619 } |
620 | 620 |
621 } // namespace test | 621 } // namespace test |
622 } // namespace net | 622 } // namespace net |
OLD | NEW |