Не удалось проверить сертификат SSL_connect (OpenSSL :: SSL :: SSLError) - PullRequest
0 голосов
/ 10 декабря 2018

Я получаю сообщение об ошибке SSL_connect:

> ruby -ropen-uri -e 'eval open("https://git.io/vQhWq").read'
F:/Ruby/ruby/lib/ruby/2.3.0/net/http.rb:933:in `connect_nonblock': SSL_connect returned=1 errno=0 state=error: certificate verify failed (OpenSSL::SSL::SSLError)
        from F:/Ruby/ruby/lib/ruby/2.3.0/net/http.rb:933:in `connect'
        from F:/Ruby/ruby/lib/ruby/2.3.0/net/http.rb:863:in `do_start'
        from F:/Ruby/ruby/lib/ruby/2.3.0/net/http.rb:852:in `start'
        from F:/Ruby/ruby/lib/ruby/2.3.0/open-uri.rb:319:in `open_http'
        from F:/Ruby/ruby/lib/ruby/2.3.0/open-uri.rb:737:in `buffer_open'
        from F:/Ruby/ruby/lib/ruby/2.3.0/open-uri.rb:212:in `block in open_loop'
        from F:/Ruby/ruby/lib/ruby/2.3.0/open-uri.rb:210:in `catch'
        from F:/Ruby/ruby/lib/ruby/2.3.0/open-uri.rb:210:in `open_loop'
        from F:/Ruby/ruby/lib/ruby/2.3.0/open-uri.rb:151:in `open_uri'
        from F:/Ruby/ruby/lib/ruby/2.3.0/open-uri.rb:717:in `open'
        from F:/Ruby/ruby/lib/ruby/2.3.0/open-uri.rb:35:in `open'
        from -e:1:in `<main>'

То, что я пробовал:

Выполнено Официальные инструкции :

  • Автоматическая проверка SSL-> Не удалось
  • Обновлен Bundler -> Успешно (bundler-1.17.1)
  • Обновлено Rubygems -> Успешно (rubygems-2.7.8)
  • Синхронизировано время -> Успешно(time.windows.com)
  • Обновлены сертификаты CA -> Заменены F:\Ruby\ruby\lib\ruby\site_ruby\2.3.0\rubygems\ssl_certs\index.rubygems.org\GlobalSignRootCA.pem свежими GlobalSignRootCA.pem
  • Проверен автоматический запуск SSL -> Не удалось

Некоторые другие решения Я НЕ заинтересован в:

  • Отключить проверку: http.verify_mode = OpenSSL::SSL::VERIFY_NONE
  • Добавление http://rubygems.org к gem sources
  • Набор SSL_CERT_FILE.Но почему?Как сказано в этом блоге

Установить SSL_CERT_FILE

Это не плохое решение, если вы знаете, что делаете.Однако существует множество решений, которые предлагают загрузить сертификаты CA на ваш компьютер и установить переменную среды SSL_CERT_FILE в ее местоположение.

Проблема этого подхода заключается в том, что вы не знаете, можете ли вы доверятьСертификаты CA, которые вы загружаете.В некоторых случаях сертификаты CA даже загружаются в виде открытого текста.Двойная проблема, если вы спросите меня.

Я нахожусь:

  • Windows 10
  • Ruby 2.3.3p222 (2016-11-21 редакция 56859)[i386-mingw32]
  • Rails 5.1.6.1
  • gem 2.7.8 (недавно обновлен)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...