Microsoft.com的OpenSSL SYSCALL返回= 5

时间:2019-02-21 09:25:33

标签: ruby openssl

我有一个奇怪的问题,我正在尝试使用如下所示的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的浏览器进行检查时发现,密码为:

enter image description here

如果检查OpenSSL密码列表,则如上图所示的算法似乎是OpenSSL密码列表中的第一个。

enter image description here

我做错了什么还是需要任何额外的步骤才能使连接成功?到目前为止,尽管如此,我只找到了Microsoft.com。

1 个答案:

答案 0 :(得分:0)

显然,如果我将目的地从microsoft.com更改为www.microsoft.com,则该代码实际上可以毫无例外地连接。

也许microsoft.com端点可能不是标准的SSL服务器,而是路由引擎?

只需将其放在此处,以防有人遇到相同的问题。