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 #ifndef NET_QUIC_CRYPTO_QUIC_CRYPTO_CLIENT_CONFIG_H_ | 5 #ifndef NET_QUIC_CRYPTO_QUIC_CRYPTO_CLIENT_CONFIG_H_ |
6 #define NET_QUIC_CRYPTO_QUIC_CRYPTO_CLIENT_CONFIG_H_ | 6 #define NET_QUIC_CRYPTO_QUIC_CRYPTO_CLIENT_CONFIG_H_ |
7 | 7 |
8 #include <map> | 8 #include <map> |
9 #include <string> | 9 #include <string> |
10 #include <vector> | 10 #include <vector> |
(...skipping 206 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... | |
217 void InitializeFrom(const QuicSessionKey& server_key, | 217 void InitializeFrom(const QuicSessionKey& server_key, |
218 const QuicSessionKey& canonical_server_key, | 218 const QuicSessionKey& canonical_server_key, |
219 QuicCryptoClientConfig* canonical_crypto_config); | 219 QuicCryptoClientConfig* canonical_crypto_config); |
220 | 220 |
221 // Adds |suffix| as a domain suffix for which the server's crypto config | 221 // Adds |suffix| as a domain suffix for which the server's crypto config |
222 // is expected to be shared among servers with the domain suffix. If a server | 222 // is expected to be shared among servers with the domain suffix. If a server |
223 // matches this suffix, then the server config from another server with the | 223 // matches this suffix, then the server config from another server with the |
224 // suffix will be used to initialize the cached state for this server. | 224 // suffix will be used to initialize the cached state for this server. |
225 void AddCanonicalSuffix(const std::string& suffix); | 225 void AddCanonicalSuffix(const std::string& suffix); |
226 | 226 |
227 // Disables the use of ECDSA for certificate validation. | |
wtc
2014/03/25 14:58:11
Nit: we should refer to this as "proof validation"
Ryan Hamilton
2014/03/27 19:06:39
Done.
| |
228 void DisableEcdsa(); | |
229 | |
227 private: | 230 private: |
228 typedef std::map<QuicSessionKey, CachedState*> CachedStateMap; | 231 typedef std::map<QuicSessionKey, CachedState*> CachedStateMap; |
229 | 232 |
230 // If the suffix of the hostname in |server_key| is in |canoncial_suffixes_|, | 233 // If the suffix of the hostname in |server_key| is in |canoncial_suffixes_|, |
231 // then populate |cached| with the canonical cached state from | 234 // then populate |cached| with the canonical cached state from |
232 // |canonical_server_map_| for that suffix. | 235 // |canonical_server_map_| for that suffix. |
233 void PopulateFromCanonicalConfig(const QuicSessionKey& server_key, | 236 void PopulateFromCanonicalConfig(const QuicSessionKey& server_key, |
234 CachedState* cached); | 237 CachedState* cached); |
235 | 238 |
236 // cached_states_ maps from the server_key to the cached information about | 239 // cached_states_ maps from the server_key to the cached information about |
237 // that server. | 240 // that server. |
238 CachedStateMap cached_states_; | 241 CachedStateMap cached_states_; |
239 | 242 |
240 // Contains a map of servers which could share the same server config. Map | 243 // Contains a map of servers which could share the same server config. Map |
241 // from a canonical host suffix/port/scheme to a representative server with | 244 // from a canonical host suffix/port/scheme to a representative server with |
242 // the canonical suffix, which has a plausible set of initial certificates | 245 // the canonical suffix, which has a plausible set of initial certificates |
243 // (or at least server public key). | 246 // (or at least server public key). |
244 std::map<QuicSessionKey, QuicSessionKey> canonical_server_map_; | 247 std::map<QuicSessionKey, QuicSessionKey> canonical_server_map_; |
245 | 248 |
246 // Contains list of suffixes (for exmaple ".c.youtube.com", | 249 // Contains list of suffixes (for exmaple ".c.youtube.com", |
247 // ".googlevideo.com") of canoncial hostnames. | 250 // ".googlevideo.com") of canoncial hostnames. |
248 std::vector<std::string> canoncial_suffixes_; | 251 std::vector<std::string> canoncial_suffixes_; |
249 | 252 |
250 scoped_ptr<ProofVerifier> proof_verifier_; | 253 scoped_ptr<ProofVerifier> proof_verifier_; |
251 scoped_ptr<ChannelIDSigner> channel_id_signer_; | 254 scoped_ptr<ChannelIDSigner> channel_id_signer_; |
252 | 255 |
256 // True if ECDSA should be disabled. | |
257 bool disable_ecdsa_; | |
258 | |
253 DISALLOW_COPY_AND_ASSIGN(QuicCryptoClientConfig); | 259 DISALLOW_COPY_AND_ASSIGN(QuicCryptoClientConfig); |
254 }; | 260 }; |
255 | 261 |
256 } // namespace net | 262 } // namespace net |
257 | 263 |
258 #endif // NET_QUIC_CRYPTO_QUIC_CRYPTO_CLIENT_CONFIG_H_ | 264 #endif // NET_QUIC_CRYPTO_QUIC_CRYPTO_CLIENT_CONFIG_H_ |
OLD | NEW |