0

我在两个应用程序之间有一个有效的 TLS 1.2 连接。在此连接上使用的协议、密码套件和证书是静态的。

大多数时候,会话是成功的。

但是,在极少数情况下,当客户端在握手期间收到“服务器握手完成”消息时,客户端会发出“客户端关闭通知”并终止会话。

重试连接时,它可以工作。

我了解“客户端握手完成”和“服务器握手完成”包括握手期间各个端点发送或接收的所有消息的加密累积哈希值。

解密和比较时,两个哈希值应该匹配,确保握手消息在传输过程中没有改变。

我的问题是:

  1. 是否仅在客户端收到“服务器握手完成”时才比较哈希,还是服务器也会在收到“客户端握手完成”时进行比较,并在不匹配的情况下立即返回错误?

  2. 除了哈希不匹配之外,在握手时还有其他原因导致握手失败吗?到那时为止的一切都与成功的握手相同 - 客户端问候、服务器问候、服务器证书身份验证、客户端证书身份验证等。它仅在客户端收到“服务器握手完成”记录时(有时)失败。

谢谢你,克利夫·沃森

4

0 回答 0