OLD | NEW |
1 // Copyright (c) 2013 The Chromium Authors. All rights reserved. | 1 // Copyright (c) 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 #ifndef NET_QUIC_CRYPTO_PROOF_SOURCE_H_ | 5 #ifndef NET_QUIC_CRYPTO_PROOF_SOURCE_H_ |
6 #define NET_QUIC_CRYPTO_PROOF_SOURCE_H_ | 6 #define NET_QUIC_CRYPTO_PROOF_SOURCE_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 27 matching lines...) Expand all Loading... |
38 // expectation is that they will be cached forever. | 38 // expectation is that they will be cached forever. |
39 // | 39 // |
40 // The signature values should be cached because |server_config| will be | 40 // The signature values should be cached because |server_config| will be |
41 // somewhat static. However, since they aren't bounded, the ProofSource may | 41 // somewhat static. However, since they aren't bounded, the ProofSource may |
42 // wish to evicit entries from that cache, thus the caller takes ownership of | 42 // wish to evicit entries from that cache, thus the caller takes ownership of |
43 // |*out_signature|. | 43 // |*out_signature|. |
44 // | 44 // |
45 // |hostname| may be empty to signify that a default certificate should be | 45 // |hostname| may be empty to signify that a default certificate should be |
46 // used. | 46 // used. |
47 // | 47 // |
| 48 // |out_leaf_cert_sct| points to the signed timestamp (RFC6962) of the leaf |
| 49 // cert. |
48 // This function may be called concurrently. | 50 // This function may be called concurrently. |
49 virtual bool GetProof(const IPAddressNumber& server_ip, | 51 virtual bool GetProof(const IPAddressNumber& server_ip, |
50 const std::string& hostname, | 52 const std::string& hostname, |
51 const std::string& server_config, | 53 const std::string& server_config, |
52 bool ecdsa_ok, | 54 bool ecdsa_ok, |
53 const std::vector<std::string>** out_certs, | 55 const std::vector<std::string>** out_certs, |
54 std::string* out_signature) = 0; | 56 std::string* out_signature, |
| 57 std::string* out_leaf_cert_sct) = 0; |
55 }; | 58 }; |
56 | 59 |
57 } // namespace net | 60 } // namespace net |
58 | 61 |
59 #endif // NET_QUIC_CRYPTO_PROOF_SOURCE_H_ | 62 #endif // NET_QUIC_CRYPTO_PROOF_SOURCE_H_ |
OLD | NEW |