summary refs log tree commit diff
diff options
context:
space:
mode:
authorPeter Dettman <peter.dettman@bouncycastle.org>2024-04-12 23:11:20 +0700
committerPeter Dettman <peter.dettman@bouncycastle.org>2024-04-12 23:11:20 +0700
commita50f679a981b253f36af5414285081f2c8bf9db3 (patch)
treefb98461cb32c2f72e19b7fde04d01244e4aad911
parentTLS: Some work on GOST support (RFC 9189) (diff)
downloadBouncyCastle.NET-ed25519-a50f679a981b253f36af5414285081f2c8bf9db3.tar.xz
Refactoring in Tls
-rw-r--r--crypto/src/tls/DtlsClientProtocol.cs7
-rw-r--r--crypto/src/tls/DtlsServerProtocol.cs7
-rw-r--r--crypto/src/tls/TlsProtocol.cs10
3 files changed, 8 insertions, 16 deletions
diff --git a/crypto/src/tls/DtlsClientProtocol.cs b/crypto/src/tls/DtlsClientProtocol.cs
index 2b132f564..1328a940e 100644
--- a/crypto/src/tls/DtlsClientProtocol.cs
+++ b/crypto/src/tls/DtlsClientProtocol.cs
@@ -612,11 +612,10 @@ namespace Org.BouncyCastle.Tls
             if (null == sessionVersion || !sessionVersion.IsDtls)
                 return false;
 
-            bool isEms = sessionParameters.IsExtendedMasterSecret;
-            if (!TlsUtilities.IsExtendedMasterSecretOptional(sessionVersion))
+            if (!sessionParameters.IsExtendedMasterSecret &&
+                !TlsUtilities.IsExtendedMasterSecretOptional(sessionVersion))
             {
-                if (!isEms)
-                    return false;
+                return false;
             }
 
             TlsCrypto crypto = state.clientContext.Crypto;
diff --git a/crypto/src/tls/DtlsServerProtocol.cs b/crypto/src/tls/DtlsServerProtocol.cs
index a3d04f01e..fcdc94cd6 100644
--- a/crypto/src/tls/DtlsServerProtocol.cs
+++ b/crypto/src/tls/DtlsServerProtocol.cs
@@ -740,11 +740,10 @@ namespace Org.BouncyCastle.Tls
             if (null == sessionVersion || !sessionVersion.IsDtls)
                 return false;
 
-            bool isEms = sessionParameters.IsExtendedMasterSecret;
-            if (!TlsUtilities.IsExtendedMasterSecretOptional(sessionVersion))
+            if (!sessionParameters.IsExtendedMasterSecret &&
+                !TlsUtilities.IsExtendedMasterSecretOptional(sessionVersion))
             {
-                if (!isEms)
-                    return false;
+                return false;
             }
 
             TlsCrypto crypto = state.serverContext.Crypto;
diff --git a/crypto/src/tls/TlsProtocol.cs b/crypto/src/tls/TlsProtocol.cs
index 773412973..2ee5982cb 100644
--- a/crypto/src/tls/TlsProtocol.cs
+++ b/crypto/src/tls/TlsProtocol.cs
@@ -1458,15 +1458,9 @@ namespace Org.BouncyCastle.Tls
             if (null == sessionVersion || !sessionVersion.IsTls)
                 return false;
 
-            bool isEms = sessionParameters.IsExtendedMasterSecret;
-            if (sessionVersion.IsSsl)
+            if (!TlsUtilities.IsExtendedMasterSecretOptional(sessionVersion))
             {
-                if (isEms)
-                    return false;
-            }
-            else if (!TlsUtilities.IsExtendedMasterSecretOptional(sessionVersion))
-            {
-                if (!isEms)
+                if (sessionParameters.IsExtendedMasterSecret == sessionVersion.IsSsl)
                     return false;
             }