openssl 是否错误地拒绝了这个会话请求?
Is openssl wrongly rejecting this session request?
我在 Debian11 服务器上安装了 OpenSSL 1.1.1n,配置为使用 MinProtocol = TLSv1.2
当服务器收到如下 ClientHello
时:
TLSv1.2 Record Layer: Handshake Protocol: Client Hello
Content Type: Handshake (22)
Version: TLS 1.0 (0x0301)
Length: 142
Handshake Protocol: Client Hello
Handshake Type: Client Hello (1)
Length: 138
Version: TLS 1.2 (0x0303)
Record Layer Version
设置为 TLSv.1 但 Handshake Version
设置为 TLSv1.2 它拒绝它带有 Protocol Version
警报并关闭连接,根据 https://datatracker.ietf.org/doc/html/rfc5246#appendix-E 这看起来像是一种可接受的行为,不应被拒绝。
openssl 是否违反了此处的 RFC,或者我是否缺少可以调整以解决此问题的配置参数?
另一方面,当我将 MinProtocol
减少到 TLSv1 时,服务器接受 ClientHello 并响应 TLSv1 握手,导致整个会话结束TLSv1,不被对方接受
我发现 MinProtocol
和 MaxProtocol
的设置如下:
MinProtocol = TLSv1
MaxProtocol = TLSv1.2
解决了这两个问题。
我在 Debian11 服务器上安装了 OpenSSL 1.1.1n,配置为使用 MinProtocol = TLSv1.2
当服务器收到如下 ClientHello
时:
TLSv1.2 Record Layer: Handshake Protocol: Client Hello
Content Type: Handshake (22)
Version: TLS 1.0 (0x0301)
Length: 142
Handshake Protocol: Client Hello
Handshake Type: Client Hello (1)
Length: 138
Version: TLS 1.2 (0x0303)
Record Layer Version
设置为 TLSv.1 但 Handshake Version
设置为 TLSv1.2 它拒绝它带有 Protocol Version
警报并关闭连接,根据 https://datatracker.ietf.org/doc/html/rfc5246#appendix-E 这看起来像是一种可接受的行为,不应被拒绝。
openssl 是否违反了此处的 RFC,或者我是否缺少可以调整以解决此问题的配置参数?
另一方面,当我将 MinProtocol
减少到 TLSv1 时,服务器接受 ClientHello 并响应 TLSv1 握手,导致整个会话结束TLSv1,不被对方接受
我发现 MinProtocol
和 MaxProtocol
的设置如下:
MinProtocol = TLSv1
MaxProtocol = TLSv1.2
解决了这两个问题。