2

我们在尝试使用 windows xp sp3(即 v6)上的 wininet 连接的客户端应用程序获得成功的 SSL 连接时遇到问题。客户端 hello 看着我,为什么 hello 将其版本声明为 SSL 2.0,然后将握手版本声明为 SSL 3.0?使用 wininet 的应用程序中是否存在错误编码?

SSLv2 Record Layer: Client Hello
    [Version: SSL 2.0 (0x0002)]  <---------------------
    Length: 76
    Handshake Message Type: Client Hello (1)
    Version: SSL 3.0 (0x0300)    <---------------------
    Cipher Spec Length: 51
    Session ID Length: 0
    Challenge Length: 16
    Cipher Specs (17 specs)
    Challenge
4

2 回答 2

4

SSLv3 和 TLSv1.x 具有兼容模式,以防客户端也支持 v2 服务器,如TLS 规范(与 SSL 的向后兼容性中所述。

一些客户支持这一点。例如,Oracle/Sun Java 有一个SSLv2Hello伪协议,它使用 SSLv2 Hello,但实际上并不支持 SSLv2。

于 2012-11-27T14:47:26.807 回答
2

我知道这个问题已经解决,但我会分享一些关于这个主题的更多信息,这可能对观众有用

“客户端发送一个 SSLv2 ClientHello,以便只理解 SSLv2 的服务器可以处理该消息,并继续进行 SSLv2 握手。但是 SSLv2 ClientHello 也说“顺便说一下,我知道 SSLv3,所以如果你也知道 SSLv3,让我们使用 SSLv3 而不是 SSLv2”,这通常会发生(现在只知道 SSLv2 的服务器极为罕见)。”

我从 Thomas Pornin 的评论中获取了它,链接 https://security.stackexchange.com/questions/34827/why-clients-offer-handshaking-with-ssl-2-0-protocol

于 2013-04-25T12:08:19.347 回答