diff options
Diffstat (limited to 'crypto/src/crypto/tls/TlsUtilities.cs')
-rw-r--r-- | crypto/src/crypto/tls/TlsUtilities.cs | 11 |
1 files changed, 10 insertions, 1 deletions
diff --git a/crypto/src/crypto/tls/TlsUtilities.cs b/crypto/src/crypto/tls/TlsUtilities.cs index f1ea0996d..bbd3e880d 100644 --- a/crypto/src/crypto/tls/TlsUtilities.cs +++ b/crypto/src/crypto/tls/TlsUtilities.cs @@ -870,7 +870,16 @@ namespace Org.BouncyCastle.Crypto.Tls internal static byte[] CalculateMasterSecret(TlsContext context, byte[] pre_master_secret) { SecurityParameters securityParameters = context.SecurityParameters; - byte[] seed = Concat(securityParameters.ClientRandom, securityParameters.ServerRandom); + + byte[] seed; + if (securityParameters.extendedMasterSecret) + { + seed = securityParameters.SessionHash; + } + else + { + seed = Concat(securityParameters.ClientRandom, securityParameters.ServerRandom); + } if (IsSsl(context)) { |