OLD | NEW |
1 // Copyright 2013 The Chromium Authors. All rights reserved. | 1 // Copyright 2013 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/test_tools/crypto_test_utils.h" | 5 #include "net/quic/test_tools/crypto_test_utils.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" |
(...skipping 32 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
43 | 43 |
44 private: | 44 private: |
45 ScopedTestRoot scoped_root_; | 45 ScopedTestRoot scoped_root_; |
46 scoped_ptr<CertVerifier> cert_verifier_; | 46 scoped_ptr<CertVerifier> cert_verifier_; |
47 scoped_ptr<TransportSecurityState> transport_security_state_; | 47 scoped_ptr<TransportSecurityState> transport_security_state_; |
48 }; | 48 }; |
49 | 49 |
50 const char kLeafCert[] = "leaf"; | 50 const char kLeafCert[] = "leaf"; |
51 const char kIntermediateCert[] = "intermediate"; | 51 const char kIntermediateCert[] = "intermediate"; |
52 const char kSignature[] = "signature"; | 52 const char kSignature[] = "signature"; |
| 53 const char kSCT[] = "CryptoServerTests"; |
53 | 54 |
54 class FakeProofSource : public ProofSource { | 55 class FakeProofSource : public ProofSource { |
55 public: | 56 public: |
56 FakeProofSource() : certs_(2) { | 57 FakeProofSource() : certs_(2) { |
57 certs_[0] = kLeafCert; | 58 certs_[0] = kLeafCert; |
58 certs_[1] = kIntermediateCert; | 59 certs_[1] = kIntermediateCert; |
59 } | 60 } |
60 ~FakeProofSource() override {} | 61 ~FakeProofSource() override {} |
61 | 62 |
62 // ProofSource interface | 63 // ProofSource interface |
63 bool GetProof(const IPAddressNumber& server_ip, | 64 bool GetProof(const IPAddressNumber& server_ip, |
64 const std::string& hostname, | 65 const std::string& hostname, |
65 const std::string& server_config, | 66 const std::string& server_config, |
66 bool ecdsa_ok, | 67 bool ecdsa_ok, |
67 const std::vector<std::string>** out_certs, | 68 const std::vector<std::string>** out_certs, |
68 std::string* out_signature) override { | 69 std::string* out_signature, |
| 70 std::string* out_leaf_cert_sct) override { |
69 *out_certs = &certs_; | 71 *out_certs = &certs_; |
70 *out_signature = kSignature; | 72 *out_signature = kSignature; |
| 73 *out_leaf_cert_sct = kSCT; |
71 return true; | 74 return true; |
72 } | 75 } |
73 | 76 |
74 private: | 77 private: |
75 std::vector<std::string> certs_; | 78 std::vector<std::string> certs_; |
76 DISALLOW_COPY_AND_ASSIGN(FakeProofSource); | 79 DISALLOW_COPY_AND_ASSIGN(FakeProofSource); |
77 }; | 80 }; |
78 | 81 |
79 class FakeProofVerifier : public ProofVerifier { | 82 class FakeProofVerifier : public ProofVerifier { |
80 public: | 83 public: |
(...skipping 29 matching lines...) Expand all Loading... |
110 }; | 113 }; |
111 | 114 |
112 } // namespace | 115 } // namespace |
113 | 116 |
114 // static | 117 // static |
115 ProofSource* CryptoTestUtils::ProofSourceForTesting() { | 118 ProofSource* CryptoTestUtils::ProofSourceForTesting() { |
116 ProofSourceChromium* source = new ProofSourceChromium(); | 119 ProofSourceChromium* source = new ProofSourceChromium(); |
117 base::FilePath certs_dir = GetTestCertsDirectory(); | 120 base::FilePath certs_dir = GetTestCertsDirectory(); |
118 CHECK(source->Initialize( | 121 CHECK(source->Initialize( |
119 certs_dir.AppendASCII("quic_test.example.com.crt"), | 122 certs_dir.AppendASCII("quic_test.example.com.crt"), |
120 certs_dir.AppendASCII("quic_test.example.com.key.pkcs8"))); | 123 certs_dir.AppendASCII("quic_test.example.com.key.pkcs8"), |
| 124 certs_dir.AppendASCII("quic_test.example.com.key.sct"))); |
121 return source; | 125 return source; |
122 } | 126 } |
123 | 127 |
124 // static | 128 // static |
125 ProofVerifier* CryptoTestUtils::ProofVerifierForTesting() { | 129 ProofVerifier* CryptoTestUtils::ProofVerifierForTesting() { |
126 // TODO(rch): use a real cert verifier? | 130 // TODO(rch): use a real cert verifier? |
127 scoped_ptr<MockCertVerifier> cert_verifier(new MockCertVerifier()); | 131 scoped_ptr<MockCertVerifier> cert_verifier(new MockCertVerifier()); |
128 net::CertVerifyResult verify_result; | 132 net::CertVerifyResult verify_result; |
129 verify_result.verified_cert = | 133 verify_result.verified_cert = |
130 ImportCertFromFile(GetTestCertsDirectory(), "quic_test.example.com.crt"); | 134 ImportCertFromFile(GetTestCertsDirectory(), "quic_test.example.com.crt"); |
(...skipping 24 matching lines...) Expand all Loading... |
155 } | 159 } |
156 | 160 |
157 // static | 161 // static |
158 ProofVerifyContext* CryptoTestUtils::FakeProofVerifyContextForTesting() { | 162 ProofVerifyContext* CryptoTestUtils::FakeProofVerifyContextForTesting() { |
159 return nullptr; | 163 return nullptr; |
160 } | 164 } |
161 | 165 |
162 } // namespace test | 166 } // namespace test |
163 | 167 |
164 } // namespace net | 168 } // namespace net |
OLD | NEW |