2 files changed, 2 insertions, 2 deletions
diff --git a/crypto/src/tls/TlsClientProtocol.cs b/crypto/src/tls/TlsClientProtocol.cs
index d26f60ef1..8e31fa6c8 100644
--- a/crypto/src/tls/TlsClientProtocol.cs
+++ b/crypto/src/tls/TlsClientProtocol.cs
@@ -345,7 +345,7 @@ namespace Org.BouncyCastle.Tls
if (!IsLegacyConnectionState())
throw new TlsFatalAlert(AlertDescription.internal_error);
- if (securityParameters.IsResumedSession)
+ if (securityParameters.IsResumedSession && type != HandshakeType.hello_request)
{
if (type != HandshakeType.finished || m_connectionState != CS_SERVER_HELLO)
throw new TlsFatalAlert(AlertDescription.unexpected_message);
diff --git a/crypto/src/tls/TlsServerProtocol.cs b/crypto/src/tls/TlsServerProtocol.cs
index 72c1b2ea5..c7a250042 100644
--- a/crypto/src/tls/TlsServerProtocol.cs
+++ b/crypto/src/tls/TlsServerProtocol.cs
@@ -866,7 +866,7 @@ namespace Org.BouncyCastle.Tls
if (!IsLegacyConnectionState())
throw new TlsFatalAlert(AlertDescription.internal_error);
- if (securityParameters.IsResumedSession)
+ if (securityParameters.IsResumedSession && type != HandshakeType.client_hello)
{
if (type != HandshakeType.finished || m_connectionState != CS_SERVER_FINISHED)
throw new TlsFatalAlert(AlertDescription.unexpected_message);
|