Https SSL错误的解决方法

Https SSL错误的解决方法,https,openssl,ssl,Https,Openssl,Ssl,我正在连接的https服务器的SSL实现中似乎存在错误;这个问题最初出现在我的应用程序中,但后来我一直在使用openssl命令行实用程序调试/复制它,因此我相当确定,目前它与我的应用程序无关 如果我连接到远程服务器时除了-connect之外没有其他选项,OpenSSL会发送一个SSLv2客户机HELLO,服务器会用一个TLSv1服务器HELLO响应,一切正常进行 如果我连接到-ssl3,OpenSSL会发送一个SSLv3 ClientHello,服务器会用一个SSLv3 ServerHello响

我正在连接的https服务器的SSL实现中似乎存在错误;这个问题最初出现在我的应用程序中,但后来我一直在使用openssl命令行实用程序调试/复制它,因此我相当确定,目前它与我的应用程序无关

如果我连接到远程服务器时除了
-connect
之外没有其他选项,OpenSSL会发送一个SSLv2客户机HELLO,服务器会用一个TLSv1服务器HELLO响应,一切正常进行

如果我连接到
-ssl3
,OpenSSL会发送一个SSLv3 ClientHello,服务器会用一个SSLv3 ServerHello响应,同样,一切正常

但是,如果我连接到
-no_ssl2
-tls1
,OpenSSL将发送一个TLSv1 ClientHello,服务器将响应
“tls1.0警报[length 0002],致命意外_消息”
,这是我在应用程序中看到的原始问题


在这一点上,有许多可能的解决方法,但我理想的情况是寻找通用的,而不是特殊的服务器外壳,所以我希望有某种“标准”的解决方法;禁用此功能(例如,通过将
-no_ticket
传递给openssl)允许TLSv1 ClientHello在远程服务器上成功运行。因为在我的应用程序中我没有特别需要这个扩展,所以这个变通方法似乎是最合适的方法

一些研究表明,问题可能只是空会话票证扩展,但我没有费心去弄清楚这个特定的服务器是否存在非空会话票证扩展的问题