我有一个奇怪的问题,我正在尝试使用如下所示的Ruby脚本连接到主要网站的SSL服务:
ctx = OpenSSL::SSL::SSLContext.new(:TLSv1_2)
soc = TCPSocket.new("microsoft.com",443)
c = OpenSSL::SSL::SSLSocket.new(soc,ctx)
c.connect
大多数站点都没有问题,但是连接到microsoft.com时似乎无法获得任何成功结果。 使用Ruby会遇到如下错误:
SSL_connect SYSCALL returned=5 errno=0 state=SSLv2/v3 read server hello A
从Ruby移至JRuby会遇到错误输出“套接字关闭”,指向此处:
org/jruby/ext/openssl/SSLSocket.java:218:in `connect'
如果我使用连接到microsoft.com 443的浏览器进行检查时发现,密码为:
如果检查OpenSSL密码列表,则如上图所示的算法似乎是OpenSSL密码列表中的第一个。
我做错了什么还是需要任何额外的步骤才能使连接成功?到目前为止,尽管如此,我只找到了Microsoft.com。
答案 0 :(得分:0)
显然,如果我将目的地从microsoft.com更改为www.microsoft.com,则该代码实际上可以毫无例外地连接。
也许microsoft.com端点可能不是标准的SSL服务器,而是路由引擎?
只需将其放在此处,以防有人遇到相同的问题。