TLSv1 не работает без включения sslv2

TLSv1 не работает без включения sslv2

Я использую версию Apache 2.2.4. Я уже знаю, что эта версия поддерживает только SSLv2, SSLv3 и TLSv1.0, но что-то странное происходит, когда я ее использую:

Когда SSLv2 отключен, веб-браузер (в моем случае Internet Explorer) использует SSLv3.

SSL 3.0, 3DES с 168-битным шифрованием (High); RSA с 2048-битным обменом.

Когда я включаю SSLv2, веб-браузер использует TLSv1.0:

TLS 1.0, AES с 256-битным шифрованием (High); RSA с 2048-битным обменом

И наконец, когда я отключаю оба протокола (SSLv2 и v3), веб-страница вообще не загружается!

Я использовал эту конфигурацию для Apache:

SSLProtocol all
SSLCipherSuite all

Объясните мне, пожалуйста, как использовать TLSv1.0 без включения SSLv2?

решение1

Такое поведение обусловлено оригинальной спецификацией TLS v1 RFC (RFC 2246, раздел «E. Обратная совместимость с SSL»).

По сути, этот RFC утверждает, что большинство серверов не будут использовать разные порты прослушивания для разных версий SSL/TLS. Поэтому для обеспечения обратной совместимости программному обеспечению рекомендуется сначала инициировать соединение с помощью "старого" приветственного сообщения SSL, затем обновить соединение до TLS, если он поддерживается обеими сторонами, и никогда не пытаться установить соединение напрямую с помощью TLS ("клиенты TLS 1.0, которые поддерживают серверы SSL версии 2.0, должны отправлять приветственные сообщения клиента SSL версии 2.0").

Предыдущие версии Java (JRE5) имели такое поведение, оно было улучшено в новых версиях, которые теперь обрабатывают TLS-рукопожатие напрямую. Возможно, вам следует проверить версию браузера и уровень исправления, а также проверить, сохраняется ли это поведение после отключения SSLv2 на стороне браузера.

Связанный контент