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 82 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
93 // Parameters negotiated by the crypto handshake. | 93 // Parameters negotiated by the crypto handshake. |
94 struct NET_EXPORT_PRIVATE QuicCryptoNegotiatedParameters { | 94 struct NET_EXPORT_PRIVATE QuicCryptoNegotiatedParameters { |
95 // Initializes the members to 0 or empty values. | 95 // Initializes the members to 0 or empty values. |
96 QuicCryptoNegotiatedParameters(); | 96 QuicCryptoNegotiatedParameters(); |
97 ~QuicCryptoNegotiatedParameters(); | 97 ~QuicCryptoNegotiatedParameters(); |
98 | 98 |
99 QuicTag key_exchange; | 99 QuicTag key_exchange; |
100 QuicTag aead; | 100 QuicTag aead; |
101 std::string initial_premaster_secret; | 101 std::string initial_premaster_secret; |
102 std::string forward_secure_premaster_secret; | 102 std::string forward_secure_premaster_secret; |
| 103 // subkey_secret is used as the PRK input to the HKDF used for key extraction. |
| 104 std::string subkey_secret; |
103 CrypterPair initial_crypters; | 105 CrypterPair initial_crypters; |
104 CrypterPair forward_secure_crypters; | 106 CrypterPair forward_secure_crypters; |
105 // Normalized SNI: converted to lower case and trailing '.' removed. | 107 // Normalized SNI: converted to lower case and trailing '.' removed. |
106 std::string sni; | 108 std::string sni; |
107 std::string client_nonce; | 109 std::string client_nonce; |
108 std::string server_nonce; | 110 std::string server_nonce; |
109 // hkdf_input_suffix contains the HKDF input following the label: the | 111 // hkdf_input_suffix contains the HKDF input following the label: the |
110 // ConnectionId, client hello and server config. This is only populated in the | 112 // ConnectionId, client hello and server config. This is only populated in the |
111 // client because only the client needs to derive the forward secure keys at a | 113 // client because only the client needs to derive the forward secure keys at a |
112 // later time from the initial keys. | 114 // later time from the initial keys. |
(...skipping 39 matching lines...) Expand 10 before | Expand all | Expand 10 after Loading... |
152 | 154 |
153 const CommonCertSets* common_cert_sets; | 155 const CommonCertSets* common_cert_sets; |
154 | 156 |
155 private: | 157 private: |
156 DISALLOW_COPY_AND_ASSIGN(QuicCryptoConfig); | 158 DISALLOW_COPY_AND_ASSIGN(QuicCryptoConfig); |
157 }; | 159 }; |
158 | 160 |
159 } // namespace net | 161 } // namespace net |
160 | 162 |
161 #endif // NET_QUIC_CRYPTO_CRYPTO_HANDSHAKE_H_ | 163 #endif // NET_QUIC_CRYPTO_CRYPTO_HANDSHAKE_H_ |
OLD | NEW |