此 TLS 警报是什么意思?

发布于 2024-11-01 15:57:43 字数 799 浏览 1 评论 0原文

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

我发现服务器 Hello 包含一个警报条目,如下所示:

在此处输入图像描述

我有以下问题:

<强>这个警报真的加密了吗?我读到,如果在密钥交换后发送警报,则警报确实会被加密,但正如您所看到的,这发生在协商阶段的早期,即 Server Hello 中。

如果未加密,是否格式错误? 第一个字节 01 表明这是一个警告,但 70(“协议版本”)是一个致命错误。 70 肯定只能作为 02 70 的一部分出现吗?

这到底是什么意思?“协议版本”表明协议版本出了问题。但是,客户端 Hello 包含“TLS 1.0”作为最高版本,服务器 Hello 也指定“TLS 1.0”。还有什么可能是错误的?

如果有人勇敢的话,我可以附上整个捕获的内容:)

我用来执行此请求的代码是 显示在我的其他问题中

I am looking at a Microsoft Network Monitor capture of an HTTPS "GET" request which mysteriously never completes if performed by .NET HttpWebRequest.

I have found that the Server Hello contains an Alert entry which looks like this:

enter image description here

I have these questions:

Is this alert really encrypted? I read that alerts do come encrypted if sent after a key exchange, but as you can see, this occurs very early in the negotiation stage, at Server Hello.

If not encrypted, is it malformed? The first byte, 01, suggests it's a warning, but the 70 ("Protocol Version") is a fatal error. Surely 70 can only appear as part of 02 70?

What does this mean exactly? "Protocol version" suggests something's up with the, erm, protocol version. However the Client Hello contains "TLS 1.0" as the max version, and the Server Hello specifies "TLS 1.0" too. What else could be wrong?

I can attach the whole capture if anyone is feeling brave :)

The code I used to perform this request is shown in my other question.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

天生の放荡 2024-11-08 15:57:43

它不是加密警报。握手完成后可能会发出加密警报,但此处的情况并非如此。第一个字节表示警报 fatal(2)、warning(1) 的重要性,第二个字节是描述。在您的情况下,十六进制为 70,十进制为 112,根据 RFC 4366,这是 unrecognized_name 。有关详细信息,请查看 RFC 5246 中的协议定义。

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

It is not an encrypted alert. An encrypted alert can come after the handshake is completed and this is not the case here. The first byte indicates the importance of the alert fatal(2), warning(1) and the second byte is the description. In your case is 70 in hex thus 112 in decimal which is unrecognized_name according to RFC 4366. For more information check the protocol definition in RFC 5246.

The unrecognized_name indicates that the server name you sent in the client hello does not match a name known to the server.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文