diff options
Diffstat (limited to 'crypto/src/tls/TlsUtilities.cs')
-rw-r--r-- | crypto/src/tls/TlsUtilities.cs | 23 |
1 files changed, 16 insertions, 7 deletions
diff --git a/crypto/src/tls/TlsUtilities.cs b/crypto/src/tls/TlsUtilities.cs index 7337e9f52..2f95e71ab 100644 --- a/crypto/src/tls/TlsUtilities.cs +++ b/crypto/src/tls/TlsUtilities.cs @@ -1156,17 +1156,26 @@ namespace Org.BouncyCastle.Tls return new TlsSessionImpl(sessionID, sessionParameters); } - internal static bool IsExtendedMasterSecretOptionalDtls(ProtocolVersion[] activeProtocolVersions) + internal static bool IsExtendedMasterSecretOptional(ProtocolVersion protocolVersion) { - return ProtocolVersion.Contains(activeProtocolVersions, ProtocolVersion.DTLSv12) - || ProtocolVersion.Contains(activeProtocolVersions, ProtocolVersion.DTLSv10); + ProtocolVersion tlsVersion = protocolVersion.GetEquivalentTlsVersion(); + + return ProtocolVersion.TLSv12.Equals(tlsVersion) + || ProtocolVersion.TLSv11.Equals(tlsVersion) + || ProtocolVersion.TLSv10.Equals(tlsVersion); } - internal static bool IsExtendedMasterSecretOptionalTls(ProtocolVersion[] activeProtocolVersions) + internal static bool IsExtendedMasterSecretOptional(ProtocolVersion[] protocolVersions) { - return ProtocolVersion.Contains(activeProtocolVersions, ProtocolVersion.TLSv12) - || ProtocolVersion.Contains(activeProtocolVersions, ProtocolVersion.TLSv11) - || ProtocolVersion.Contains(activeProtocolVersions, ProtocolVersion.TLSv10); + if (protocolVersions != null) + { + for (int i = 0; i < protocolVersions.Length; ++i) + { + if (IsExtendedMasterSecretOptional(protocolVersions[i])) + return true; + } + } + return false; } public static bool IsNullOrContainsNull(object[] array) |