这个TLS警报是什么意思?

时间:2011-04-14 23:52:28

标签: https ssl

我正在查看Microsoft网络监视器捕获的HTTPS“GET”请求,如果由.NET HttpWebRequest执行,该请求神秘地永远不会完成。

我发现Server Hello包含一个Alert条目,如下所示:

enter image description here

我有这些问题:

此警报是否真的加密了?我读到,如果在密钥交换后发送警报,则警报会加密,但正如您所看到的,这在协商阶段很早就发生在服务器Hello上。 / p>

如果没有加密,是否格式错误?第一个字节01表示它是一个警告,但70(“协议版本”)是致命错误。当然70只能作为02 70的一部分出现?

这究竟意味着什么?“协议版本”暗示了一些与erm协议版本有关的东西。但是,Client Hello包含“TLS 1.0”作为最大版本,而Server Hello也指定“TLS 1.0”。还有什么可能是错的?

如果有人感到勇敢,我可以附上整个捕获:)

我用来执行此请求的代码是shown in my other question

1 个答案:

答案 0 :(得分:6)

它不是加密警报。握手完成后可以发出加密警报,但这不是这种情况。第一个字节表示警报致命(2),警告(1)的重要性,第二个字节是描述。在你的情况下是十六进制的70,因此十进制的112是根据RFC 4366无法识别的名称。有关更多信息,请查看RFC 5246中的协议定义。

unrecognized_name表示您在客户端hello中发送的服务器名称与服务器已知的名称不匹配。