diff options
author | Peter Dettman <peter.dettman@bouncycastle.org> | 2021-07-24 16:38:43 +0700 |
---|---|---|
committer | Peter Dettman <peter.dettman@bouncycastle.org> | 2021-07-24 16:38:43 +0700 |
commit | ceaebe902166d062635c444e2649c1a5849deaae (patch) | |
tree | c71f32288ad1d49e93fc61ec1ae203536a9211dd /crypto/src/tls/TlsUtilities.cs | |
parent | Refactoring (diff) | |
download | BouncyCastle.NET-ed25519-ceaebe902166d062635c444e2649c1a5849deaae.tar.xz |
Calculate HMAC without extracting TlsSecret
Diffstat (limited to 'crypto/src/tls/TlsUtilities.cs')
-rw-r--r-- | crypto/src/tls/TlsUtilities.cs | 8 |
1 files changed, 2 insertions, 6 deletions
diff --git a/crypto/src/tls/TlsUtilities.cs b/crypto/src/tls/TlsUtilities.cs index 4cec13bae..52b554801 100644 --- a/crypto/src/tls/TlsUtilities.cs +++ b/crypto/src/tls/TlsUtilities.cs @@ -1491,14 +1491,10 @@ namespace Org.BouncyCastle.Tls : securityParameters.BaseKeyClient; TlsSecret finishedKey = DeriveSecret(securityParameters, baseKey, "finished", EmptyBytes); + int cryptoHashAlgorithm = TlsCryptoUtilities.GetHash(securityParameters.PrfHashAlgorithm); byte[] transcriptHash = GetCurrentPrfHash(handshakeHash); - TlsCrypto crypto = context.Crypto; - byte[] hmacKey = crypto.AdoptSecret(finishedKey).Extract(); - TlsHmac hmac = crypto.CreateHmacForHash(TlsCryptoUtilities.GetHash(securityParameters.PrfHashAlgorithm)); - hmac.SetKey(hmacKey, 0, hmacKey.Length); - hmac.Update(transcriptHash, 0, transcriptHash.Length); - return hmac.CalculateMac(); + return finishedKey.CalculateHmac(cryptoHashAlgorithm, transcriptHash, 0, transcriptHash.Length); } if (negotiatedVersion.IsSsl) |