
Я использую версию 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 на стороне браузера.