Chromium Code Reviews
chromiumcodereview-hr@appspot.gserviceaccount.com (chromiumcodereview-hr) | Please choose your nickname with Settings | Help | Chromium Project | Gerrit Changes | Sign out
(29)

Side by Side Diff: net/quic/crypto/crypto_handshake.h

Issue 423333002: Implement QUIC key extraction. (Closed) Base URL: svn://svn.chromium.org/chrome/trunk/src
Patch Set: Pass a size_t constant as a size_t argument. Created 6 years, 4 months ago
Use n/p to move between diff chunks; N/P to move between comments. Draft comments are only viewable by you.
Jump to:
View unified diff | Download patch | Annotate | Revision Log
OLDNEW
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
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
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_
OLDNEW
« crypto/hkdf.h ('K') | « crypto/hkdf_unittest.cc ('k') | net/quic/crypto/crypto_utils.h » ('j') | no next file with comments »

Powered by Google App Engine
This is Rietveld 408576698