Index: net/quic/crypto/quic_crypto_server_config.cc |
diff --git a/net/quic/crypto/quic_crypto_server_config.cc b/net/quic/crypto/quic_crypto_server_config.cc |
index 6bddf2b3d8fa2413b7f5cf71478b4bf035eac333..36592705b34d490a7a8c662f6258fadc4f96f305 100644 |
--- a/net/quic/crypto/quic_crypto_server_config.cc |
+++ b/net/quic/crypto/quic_crypto_server_config.cc |
@@ -54,7 +54,8 @@ string DeriveSourceAddressTokenKey(StringPiece source_address_token_secret) { |
StringPiece() /* no salt */, |
"QUIC source address token key", |
CryptoSecretBoxer::GetKeySize(), |
- 0 /* no fixed IV needed */); |
+ 0 /* no fixed IV needed */, |
+ 0 /* no subkey secret */); |
return hkdf.server_write_key().as_string(); |
} |
@@ -682,7 +683,8 @@ QuicErrorCode QuicCryptoServerConfig::ProcessClientHello( |
CrypterPair crypters; |
if (!CryptoUtils::DeriveKeys(params->initial_premaster_secret, params->aead, |
info.client_nonce, info.server_nonce, |
- hkdf_input, CryptoUtils::SERVER, &crypters)) { |
+ hkdf_input, CryptoUtils::SERVER, &crypters, |
+ NULL /* subkey secret */)) { |
*error_details = "Symmetric key setup failed"; |
return QUIC_CRYPTO_SYMMETRIC_KEY_SETUP_FAILED; |
} |
@@ -723,7 +725,8 @@ QuicErrorCode QuicCryptoServerConfig::ProcessClientHello( |
if (!CryptoUtils::DeriveKeys(params->initial_premaster_secret, params->aead, |
info.client_nonce, info.server_nonce, hkdf_input, |
CryptoUtils::SERVER, |
- ¶ms->initial_crypters)) { |
+ ¶ms->initial_crypters, |
+ NULL /* subkey secret */)) { |
*error_details = "Symmetric key setup failed"; |
return QUIC_CRYPTO_SYMMETRIC_KEY_SETUP_FAILED; |
} |
@@ -756,7 +759,8 @@ QuicErrorCode QuicCryptoServerConfig::ProcessClientHello( |
if (!CryptoUtils::DeriveKeys( |
params->forward_secure_premaster_secret, params->aead, |
info.client_nonce, info.server_nonce, forward_secure_hkdf_input, |
- CryptoUtils::SERVER, ¶ms->forward_secure_crypters)) { |
+ CryptoUtils::SERVER, ¶ms->forward_secure_crypters, |
+ ¶ms->subkey_secret)) { |
*error_details = "Symmetric key setup failed"; |
return QUIC_CRYPTO_SYMMETRIC_KEY_SETUP_FAILED; |
} |