Что означает это предупреждение TLS? - PullRequest
2 голосов
/ 15 апреля 2011

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

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

enter image description here

У меня есть следующие вопросы:

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

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

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

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

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

1 Ответ

6 голосов
/ 20 апреля 2011

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...