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_CRYPTO_HANDSHAKE_H_ | 5 #ifndef NET_QUIC_CRYPTO_CRYPTO_HANDSHAKE_H_ |
6 #define NET_QUIC_CRYPTO_CRYPTO_HANDSHAKE_H_ | 6 #define NET_QUIC_CRYPTO_CRYPTO_HANDSHAKE_H_ |
7 | 7 |
8 #include <string> | 8 #include <string> |
9 #include <vector> | 9 #include <vector> |
10 | 10 |
(...skipping 119 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
130 // are big-endian and the pair is a P-256 public key. | 130 // are big-endian and the pair is a P-256 public key. |
131 std::string channel_id; | 131 std::string channel_id; |
132 | 132 |
133 // Used when generating proof signature when sending server config updates. | 133 // Used when generating proof signature when sending server config updates. |
134 bool x509_ecdsa_supported; | 134 bool x509_ecdsa_supported; |
135 bool x509_supported; | 135 bool x509_supported; |
136 | 136 |
137 // Used to generate cert chain when sending server config updates. | 137 // Used to generate cert chain when sending server config updates. |
138 std::string client_common_set_hashes; | 138 std::string client_common_set_hashes; |
139 std::string client_cached_cert_hashes; | 139 std::string client_cached_cert_hashes; |
| 140 |
| 141 // Default to false; set to true if the client indicates that it supports sct |
| 142 // by sending CSCT tag with an empty value in client hello. |
| 143 bool sct_supported_by_client; |
140 }; | 144 }; |
141 | 145 |
142 struct NET_EXPORT_PRIVATE QuicCryptoProof { | 146 struct NET_EXPORT_PRIVATE QuicCryptoProof { |
143 QuicCryptoProof(); | 147 QuicCryptoProof(); |
144 ~QuicCryptoProof(); | 148 ~QuicCryptoProof(); |
145 | 149 |
146 std::string signature; | 150 std::string signature; |
147 // QuicCryptoProof does not take ownership of |certs|. | 151 // QuicCryptoProof does not take ownership of |certs|. |
148 const std::vector<std::string>* certs; | 152 const std::vector<std::string>* certs; |
| 153 std::string cert_sct; |
149 }; | 154 }; |
150 | 155 |
151 // QuicCryptoConfig contains common configuration between clients and servers. | 156 // QuicCryptoConfig contains common configuration between clients and servers. |
152 class NET_EXPORT_PRIVATE QuicCryptoConfig { | 157 class NET_EXPORT_PRIVATE QuicCryptoConfig { |
153 public: | 158 public: |
154 // kInitialLabel is a constant that is used when deriving the initial | 159 // kInitialLabel is a constant that is used when deriving the initial |
155 // (non-forward secure) keys for the connection in order to tie the resulting | 160 // (non-forward secure) keys for the connection in order to tie the resulting |
156 // key to this protocol. | 161 // key to this protocol. |
157 static const char kInitialLabel[]; | 162 static const char kInitialLabel[]; |
158 | 163 |
(...skipping 17 matching lines...) Expand all Loading... |
176 | 181 |
177 const CommonCertSets* common_cert_sets; | 182 const CommonCertSets* common_cert_sets; |
178 | 183 |
179 private: | 184 private: |
180 DISALLOW_COPY_AND_ASSIGN(QuicCryptoConfig); | 185 DISALLOW_COPY_AND_ASSIGN(QuicCryptoConfig); |
181 }; | 186 }; |
182 | 187 |
183 } // namespace net | 188 } // namespace net |
184 | 189 |
185 #endif // NET_QUIC_CRYPTO_CRYPTO_HANDSHAKE_H_ | 190 #endif // NET_QUIC_CRYPTO_CRYPTO_HANDSHAKE_H_ |
OLD | NEW |