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.1Handshake Version 设置为 TLSv1.2 它拒绝它带有 Protocol Version 警报并关闭连接,根据 https://datatracker.ietf.org/doc/html/rfc5246#appendix-E 这看起来像是一种可接受的行为,不应被拒绝。

openssl 是否违反了此处的 RFC,或者我是否缺少可以调整以解决此问题的配置参数?

另一方面,当我将 MinProtocol 减少到 TLSv1 时,服务器接受 ClientHello 并响应 TLSv1 握手,导致整个会话结束TLSv1,不被对方接受

我发现 MinProtocolMaxProtocol 的设置如下:

MinProtocol = TLSv1
MaxProtocol = TLSv1.2

解决了这两个问题。