From b9c0074fb1b1b210182bba31d236664ea9ca37a8 Mon Sep 17 00:00:00 2001 From: Peter Dettman Date: Fri, 21 Apr 2023 18:54:36 +0700 Subject: Patch #1 for 2.2 - enable optimized code in 'Publish' configuration - fixed blocksRemaining tracking in GcmBlockCipher (not net60) - complete connection ID for block ciphers with encrypt_then_mac (not net60) - added some missing entries for the contributors file --- crypto/src/BouncyCastle.Crypto.csproj | 2 ++ crypto/src/crypto/modes/GCMBlockCipher.cs | 5 ----- crypto/src/tls/crypto/impl/TlsBlockCipher.cs | 2 +- 3 files changed, 3 insertions(+), 6 deletions(-) (limited to 'crypto/src') diff --git a/crypto/src/BouncyCastle.Crypto.csproj b/crypto/src/BouncyCastle.Crypto.csproj index b7fc0cf30..b4b5f8f4e 100644 --- a/crypto/src/BouncyCastle.Crypto.csproj +++ b/crypto/src/BouncyCastle.Crypto.csproj @@ -71,6 +71,7 @@ true + True @@ -78,6 +79,7 @@ true true + True diff --git a/crypto/src/crypto/modes/GCMBlockCipher.cs b/crypto/src/crypto/modes/GCMBlockCipher.cs index 16d9f3654..ad4c044d4 100644 --- a/crypto/src/crypto/modes/GCMBlockCipher.cs +++ b/crypto/src/crypto/modes/GCMBlockCipher.cs @@ -1716,11 +1716,6 @@ namespace Org.BouncyCastle.Crypto.Modes private void GetNextCtrBlock(byte[] block) { - if (blocksRemaining == 0) - throw new InvalidOperationException("Attempt to process too many blocks"); - - blocksRemaining--; - Pack.UInt32_To_BE(++counter32, counter, 12); cipher.ProcessBlock(counter, 0, block, 0); diff --git a/crypto/src/tls/crypto/impl/TlsBlockCipher.cs b/crypto/src/tls/crypto/impl/TlsBlockCipher.cs index 479f00fc9..b9b8b2a76 100644 --- a/crypto/src/tls/crypto/impl/TlsBlockCipher.cs +++ b/crypto/src/tls/crypto/impl/TlsBlockCipher.cs @@ -277,7 +277,7 @@ namespace Org.BouncyCastle.Tls.Crypto.Impl if (m_encryptThenMac) { - byte[] mac = m_writeMac.CalculateMac(seqNo, recordType, outBuf, headerAllocation, + byte[] mac = m_writeMac.CalculateMac(seqNo, recordType, m_encryptConnectionID, outBuf, headerAllocation, outOff - headerAllocation); Array.Copy(mac, 0, outBuf, outOff, mac.Length); outOff += mac.Length; -- cgit 1.5.1