Скажем, моя сторона как клиент поддерживает TLS V1.0,1.1 и 1.2. Удаленный сайт поддерживает TLS V1.0 и 1.1. Обе стороны поддерживают одни и те же шифры.Несоответствие версии TLS (?)
Мои вопросы:
1 - В моем понимании я всегда буду инициировать связь, используя самую высокую TLS версии я есть в наличии. В таком случае Как я смогу соединиться с другой стороной?
2 - Ниже представлен захват Wireshark CLIENT HELLO между клиентом и сервером, описанным выше.
TLSv1.1 Record Layer: Handshake Protocol: Client Hello
Content Type: Handshake (22)
Version: TLS 1.2 (0x0303)
Length: 172
Handshake Protocol: Client Hello
Handshake Type: Client Hello (1)
Length: 168
Version: TLS 1.2 (0x0303)
Random
Session ID Length: 0
Cipher Suites Length: 52
Cipher Suites (26 suites)
Compression Methods Length: 1
Compression Methods (1 method)
Extensions Length: 75
Extension: server_name
Extension: elliptic_curves
Extension: ec_point_formats
Extension: signature_algorithms
Extension: SessionTicket TLS
Extension: renegotiation_info
Эта попытка подключения в конечном итоге дает «Не удалось создать безопасный канал SSL/TLS». Я подозреваю, что это имеет какое-то отношение к тому, что описано как «TLSV1.1 Record Layer» и «Версия: TLS 1.2 (0x0303)». Может ли это быть причиной отказа соединения?
Но почему он говорит «TLSV1.1 Record Layer», а затем «Version: TLS 1.2»? – JustAGuy
Только что захватил этот, который еще БОЛЕЕ путается: http://imgur.com/hasn6rs – JustAGuy
@gilfalko: Я не знаю, почему он говорит «TLSv1.1 Record Layer» в вашей версии Wireshark - по моему это говорит «Уровень записи TLSv1.2», который подходит, поскольку протокол уровня записи - TLS 1.2 в вашем первоначальном примере. А во втором примере протокол уровня записи - TLS 1.0, а версия протокола ClientHello - TLS 1.2. Тем не менее эта строка представляет собой только краткое изложение следующих данных, то есть истинная информация представлена только в деталях. –