【发布时间】:2009-04-01 13:24:43
【问题描述】:
我正在连接的 https 服务器的 SSL 实现似乎存在错误;问题最初出现在我的应用程序中,但我一直在使用 openssl 命令行实用程序调试/复制它,所以我相当肯定它与我的应用程序无关。
如果我连接到远程服务器时除了-connect 之外没有其他选项,OpenSSL 将发送 SSLv2 CLIENT-HELLO,服务器以 TLSv1 ServerHello 响应,一切正常进行。
如果我使用-ssl3 连接,OpenSSL 会发送一个 SSLv3 ClientHello,服务器会响应一个 SSLv3 ServerHello,然后一切正常。
但是,如果我使用 -no_ssl2 或 -tls1 连接,OpenSSL 会发送一个 TLSv1 ClientHello,而服务器会以 "TLS 1.0 Alert [length 0002], fatal unexpected_message" 进行响应,这是我在应用程序中看到的原始问题。
在这一点上,有许多可能的解决方法,但我在理想情况下寻找通用的东西,而不是特殊情况下这个特定的服务器,所以我希望有某种“标准”解决方法这个。
【问题讨论】: