OpenSSL SYSCALL вернул = 5 для microsoft.com - PullRequest
0 голосов
/ 21 февраля 2019

У меня странная проблема: я пытаюсь подключиться к службе SSL основных веб-сайтов с помощью сценария Ruby, как показано ниже:

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 приведет к ошибке, вывод «Socket closed» указывает на следующее:

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 голосов
/ 22 февраля 2019

Очевидно, что если я изменю место назначения с microsoft.com на www.microsoft.com, код сможет подключаться без исключения.

Возможно, конечной точкой microsoft.com может быть не стандартный SSL-сервер, а просто механизм маршрутизации?

Просто укажите это здесь, если кто-то столкнулся с той же проблемой.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...