Что означает это предупреждение TLS?

Я смотрю на захват Microsoft Network Monitor запроса HTTPS «GET», который таинственным образом никогда не завершается, если выполняется .NET HttpWebRequest.

Я обнаружил, что Server Hello содержит запись Alert, которая выглядит следующим образом:

введите здесь описание изображения

У меня есть эти вопросы:

Действительно ли это оповещение зашифровано? Я читал, что оповещения приходят в зашифрованном виде, если они отправляются после обмена ключами, но, как вы можете видеть, это происходит на очень ранней стадии согласования, в Server Hello.

Если он не зашифрован, значит ли это, что он искажен? Первый байт, 01, указывает на то, что это предупреждение, а 70 ("Версия протокола") указывает на фатальную ошибку. Конечно, 70 может появляться только как часть 02 70?

Что это означает? "Версия протокола" предполагает, что что-то не так с версией протокола. Однако клиентское приветствие содержит «TLS 1.0» в качестве максимальной версии, а серверное приветствие также указывает «TLS 1.0». Что еще может быть не так?

Я могу прикрепить весь снимок, если кто-то чувствует себя смелым :)

Код, который я использовал для выполнения этого запроса, таков: the-browser">показанный в моем другом вопросе.


person enverpex    schedule 14.04.2011    source источник
comment
Как использовать Microsoft Network Monitor для захвата, когда я вызываю (клиент) на https URI (сервер)? использовать Microsoft Network Monitor программно во временном диапазоне?   -  person Kiquenet    schedule 06.04.2018


Ответы (1)


Это не зашифрованное оповещение. Зашифрованное оповещение может прийти после завершения рукопожатия, но здесь это не так. Первый байт указывает на важность предупреждений fatal(2), warning(1), а второй байт — описание. В вашем случае это 70 в шестнадцатеричном формате, таким образом, 112 в десятичном формате, что является нераспознанным_именем в соответствии с RFC 4366. Для получения дополнительной информации см. определение протокола в RFC 5246.

Неопознанное_имя указывает, что имя сервера, которое вы отправили в клиентском приветствии, не соответствует имени, известному серверу.

person Nikos    schedule 20.04.2011
comment
Я бы добавил, что ваш клиент не должен был разрывать соединение из-за этого предупреждения. Рукопожатие должно быть завершено. - person Nikos; 20.04.2011
comment
Предупреждение о непризнанном_имени может быть фатальным в соответствии с RFC. В случае Java 7 это фатально. Вы можете отключить отправку SNI следующим образом: bugs.sun.com/bugdatabase/view_bug .do?bug_id=7127374 - person eckes; 07.01.2012