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