Является ли openssl ошибочным отклонением этого запроса на сеанс?

У меня есть OpenSSL 1.1.1n на сервере Debian11, настроенный на использование 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 и не принимается другой стороной.


13
1

Ответ:

Решено

Я обнаружил, что установка как MinProtocol, так и MaxProtocol, как показано ниже:

MinProtocol = TLSv1
MaxProtocol = TLSv1.2

устраняет обе проблемы.