summary refs log tree commit diff
path: root/crypto/src/tls/TlsProtocol.cs
diff options
context:
space:
mode:
Diffstat (limited to 'crypto/src/tls/TlsProtocol.cs')
-rw-r--r--crypto/src/tls/TlsProtocol.cs17
1 files changed, 15 insertions, 2 deletions
diff --git a/crypto/src/tls/TlsProtocol.cs b/crypto/src/tls/TlsProtocol.cs
index 317b6b193..044fca42d 100644
--- a/crypto/src/tls/TlsProtocol.cs
+++ b/crypto/src/tls/TlsProtocol.cs
@@ -401,7 +401,7 @@ namespace Org.BouncyCastle.Tls
                 AbstractTlsContext context = ContextAdmin;
                 SecurityParameters securityParameters = context.SecurityParameters;
 
-                if (m_appDataReady ||
+                if (!context.IsHandshaking ||
                     null == securityParameters.LocalVerifyData ||
                     null == securityParameters.PeerVerifyData)
                 {
@@ -1557,6 +1557,19 @@ namespace Org.BouncyCastle.Tls
             get { return m_closed; }
         }
 
+        public virtual bool IsConnected
+        {
+            get
+            {
+                if (m_closed)
+                    return false;
+
+                AbstractTlsContext context = ContextAdmin;
+
+                return null != context && context.IsConnected;
+            }
+        }
+
         public virtual bool IsHandshaking
         {
             get
@@ -1566,7 +1579,7 @@ namespace Org.BouncyCastle.Tls
 
                 AbstractTlsContext context = ContextAdmin;
 
-                return null != context && !context.IsConnected;
+                return null != context && context.IsHandshaking;
             }
         }