openssl是否错误地拒绝了此会话请求



我在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握手进行响应,这会导致整个会话超过TLCv1,而不被另一方接受。

我发现将MinProtocolMaxProtocol设置如下:

MinProtocol = TLSv1
MaxProtocol = TLSv1.2

修复了这两个问题。

最新更新