Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(84)

Side by Side Diff: net/quic/crypto/proof_verifier_chromium_test.cc

Issue 1652603002: Add information to SSLInfo about CT EV policy compliance (Closed) Base URL: https://chromium.googlesource.com/chromium/src.git@master
Patch Set: rsleevi nits Created 4 years, 10 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch
« no previous file with comments | « net/quic/crypto/proof_verifier_chromium.cc ('k') | net/quic/quic_chromium_client_session.cc » ('j') | no next file with comments »
Toggle Intra-line Diffs ('i') | Expand Comments ('e') | Collapse Comments ('c') | Show Comments Hide Comments ('s')
OLDNEW
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/crypto/proof_verifier_chromium.h" 5 #include "net/quic/crypto/proof_verifier_chromium.h"
6 6
7 #include "base/memory/ref_counted.h" 7 #include "base/memory/ref_counted.h"
8 #include "base/memory/scoped_ptr.h" 8 #include "base/memory/scoped_ptr.h"
9 #include "net/base/net_errors.h" 9 #include "net/base/net_errors.h"
10 #include "net/base/test_data_directory.h" 10 #include "net/base/test_data_directory.h"
11 #include "net/cert/cert_status_flags.h" 11 #include "net/cert/cert_status_flags.h"
12 #include "net/cert/cert_verifier.h" 12 #include "net/cert/cert_verifier.h"
13 #include "net/cert/ct_log_verifier.h" 13 #include "net/cert/ct_log_verifier.h"
14 #include "net/cert/ct_policy_enforcer.h" 14 #include "net/cert/ct_policy_enforcer.h"
15 #include "net/cert/ct_policy_status.h"
15 #include "net/cert/ct_serialization.h" 16 #include "net/cert/ct_serialization.h"
16 #include "net/cert/ct_verify_result.h" 17 #include "net/cert/ct_verify_result.h"
17 #include "net/cert/mock_cert_verifier.h" 18 #include "net/cert/mock_cert_verifier.h"
18 #include "net/cert/multi_log_ct_verifier.h" 19 #include "net/cert/multi_log_ct_verifier.h"
19 #include "net/cert/x509_certificate.h" 20 #include "net/cert/x509_certificate.h"
20 #include "net/http/transport_security_state.h" 21 #include "net/http/transport_security_state.h"
21 #include "net/log/net_log.h" 22 #include "net/log/net_log.h"
22 #include "net/quic/crypto/proof_verifier.h" 23 #include "net/quic/crypto/proof_verifier.h"
23 #include "net/test/cert_test_util.h" 24 #include "net/test/cert_test_util.h"
24 #include "net/test/ct_test_util.h" 25 #include "net/test/ct_test_util.h"
(...skipping 24 matching lines...) Expand all
49 return ERR_FAILED; 50 return ERR_FAILED;
50 } 51 }
51 }; 52 };
52 53
53 // CTPolicyEnforcer that will fail the test if it is ever called. 54 // CTPolicyEnforcer that will fail the test if it is ever called.
54 class FailsTestCTPolicyEnforcer : public CTPolicyEnforcer { 55 class FailsTestCTPolicyEnforcer : public CTPolicyEnforcer {
55 public: 56 public:
56 FailsTestCTPolicyEnforcer() {} 57 FailsTestCTPolicyEnforcer() {}
57 ~FailsTestCTPolicyEnforcer() override {} 58 ~FailsTestCTPolicyEnforcer() override {}
58 59
59 bool DoesConformToCTEVPolicy(X509Certificate* cert, 60 ct::EVPolicyCompliance DoesConformToCTEVPolicy(
60 const ct::EVCertsWhitelist* ev_whitelist, 61 X509Certificate* cert,
61 const ct::CTVerifyResult& ct_result, 62 const ct::EVCertsWhitelist* ev_whitelist,
62 const BoundNetLog& net_log) override { 63 const ct::SCTList& verified_scts,
64 const BoundNetLog& net_log) override {
63 ADD_FAILURE() << "CTPolicyEnforcer::DoesConformToCTEVPolicy() should " 65 ADD_FAILURE() << "CTPolicyEnforcer::DoesConformToCTEVPolicy() should "
64 << "not be called"; 66 << "not be called";
65 return false; 67 return ct::EVPolicyCompliance::EV_POLICY_DOES_NOT_APPLY;
66 } 68 }
67 }; 69 };
68 70
69 // CTPolicyEnforcer that can simulate whether or not a given certificate 71 // CTPolicyEnforcer that can simulate whether or not a given certificate
70 // conforms to the CT/EV policy. 72 // conforms to the CT/EV policy.
71 class MockCTPolicyEnforcer : public CTPolicyEnforcer { 73 class MockCTPolicyEnforcer : public CTPolicyEnforcer {
72 public: 74 public:
73 MockCTPolicyEnforcer(bool is_ev) : is_ev_(is_ev) {} 75 MockCTPolicyEnforcer(bool is_ev) : is_ev_(is_ev) {}
74 ~MockCTPolicyEnforcer() override {} 76 ~MockCTPolicyEnforcer() override {}
75 77
76 bool DoesConformToCTEVPolicy(X509Certificate* cert, 78 ct::EVPolicyCompliance DoesConformToCTEVPolicy(
77 const ct::EVCertsWhitelist* ev_whitelist, 79 X509Certificate* cert,
78 const ct::CTVerifyResult& ct_result, 80 const ct::EVCertsWhitelist* ev_whitelist,
79 const BoundNetLog& net_log) override { 81 const ct::SCTList& verified_scts,
80 return is_ev_; 82 const BoundNetLog& net_log) override {
83 return is_ev_ ? ct::EVPolicyCompliance::EV_POLICY_COMPLIES_VIA_SCTS
84 : ct::EVPolicyCompliance::EV_POLICY_NOT_ENOUGH_SCTS;
81 } 85 }
82 86
83 private: 87 private:
84 bool is_ev_; 88 bool is_ev_;
85 }; 89 };
86 90
87 class DummyProofVerifierCallback : public ProofVerifierCallback { 91 class DummyProofVerifierCallback : public ProofVerifierCallback {
88 public: 92 public:
89 DummyProofVerifierCallback() {} 93 DummyProofVerifierCallback() {}
90 ~DummyProofVerifierCallback() override {} 94 ~DummyProofVerifierCallback() override {}
(...skipping 304 matching lines...) Expand 10 before | Expand all | Expand 10 after
395 ASSERT_EQ(QUIC_SUCCESS, status); 399 ASSERT_EQ(QUIC_SUCCESS, status);
396 400
397 ASSERT_TRUE(details_.get()); 401 ASSERT_TRUE(details_.get());
398 ProofVerifyDetailsChromium* verify_details = 402 ProofVerifyDetailsChromium* verify_details =
399 static_cast<ProofVerifyDetailsChromium*>(details_.get()); 403 static_cast<ProofVerifyDetailsChromium*>(details_.get());
400 EXPECT_EQ(0u, verify_details->cert_verify_result.cert_status); 404 EXPECT_EQ(0u, verify_details->cert_verify_result.cert_status);
401 } 405 }
402 406
403 } // namespace test 407 } // namespace test
404 } // namespace net 408 } // namespace net
OLDNEW
« no previous file with comments | « net/quic/crypto/proof_verifier_chromium.cc ('k') | net/quic/quic_chromium_client_session.cc » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698