SSL_connect возвращено = 1 errno = 0 состояние = SSLv3 прочитанный сертификат сервера B: сбой проверки сертификата - PullRequest
278 голосов
/ 24 декабря 2010

Я использую Authlogic-Connect для сторонних входов в систему.После выполнения соответствующих миграций логины Twitter / Google / Yahoo, кажется, работают нормально, но логин facebook выдает исключение:

SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed

В журнале разработчика отображается

OpenSSL::SSL::SSLError (SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed):
  app/controllers/users_controller.rb:37:in `update'

Пожалуйста, предложите ..

Ответы [ 37 ]

13 голосов
/ 28 апреля 2012

Ну, у меня это сработало

rvm pkg install openssl
rvm reinstall 1.9.2 --with-openssl-dir=$rvm_path/usr

Что-то не так с реализацией openssl моего ubuntu 12.04

12 голосов
/ 23 июня 2015

Я пытаюсь установить curl-ca-bundle с brew, но пакет больше недоступен:

$ brew install curl-ca-bundle
Error: No available formula for curl-ca-bundle 
Searching formulae...
Searching taps...

Решение, которое работало для меня на Mac, было:

 $ cd /usr/local/etc/openssl/certs/
 $ sudo curl -O http://curl.haxx.se/ca/cacert.pem

Добавьте эту строку в ~/.bash_profile (или ~/.zshrc для zsh):

export SSL_CERT_FILE=/usr/local/etc/openssl/certs/cacert.pem

Затем обновите свой терминал:

$ source ~/.bash_profile
12 голосов
/ 18 мая 2011

Вот еще один вариант для отладки.

Никогда не используйте это ни в какой производственной среде, так как это сведет на нет преимущества использования SSL в первую очередь.Это возможно только в вашей локальной среде разработки.

require 'openssl'
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
12 голосов
/ 16 июля 2014

Зная, что это довольно слабое решение, я все же делюсь этим, потому что кажется, что очень немногие, отвечающие здесь, используют Windows , и я думаю, что некоторые пользователи Windows (включая меня) оценят простоеи интуитивный подход.

require 'openssl'
puts OpenSSL::X509::DEFAULT_CERT_FILE

Это говорит о том, где ваш openssl ищет файл сертификата.Меня зовут не Луис, но мое имя было C:/Users/Luis/Code/luislavena/knap-build/var/knapsack/software/x86-windows/openssl/1.0.0l/ssl/cert.pem.Путь может отличаться в зависимости от каждой среды (например, openknapsack вместо luislavena).

Путь не изменился даже после set SSL_CERT_FILE=C:\foo\bar\baz\cert.pem через консоль, , поэтому ...Я создал каталог C:\Users\Luis\Code\luislavena\knap-build\var\knapsack\software\x86-windows\openssl\1.0.0l\ssl на своем локальном диске и поместил в него файл сертификата.

Хам, как это, это, безусловно, будет работать.

10 голосов
/ 16 февраля 2016

У меня была такая же проблема при работе над проектом Ruby. Я использую Windows 7 64bit.

Я решил это следующим образом:

  1. Загрузка файла cacert.pem из http://curl.haxx.se/ca/cacert.pem.
  2. Сохраняет этот файл в C: /RubyCertificates/cacert.pem
  3. Затем установите для моей переменной среды "SSL_CERT_FILE" значение "C: \ RubyCertificates \ cacert.pem"

источник: https://gist.github.com/fnichol/867550

7 голосов
/ 15 октября 2013

Самый простой ответ, который мне помог, был такой:

sudo apt-get install openssl ca-certificates

И вуаля !!!

7 голосов
/ 21 октября 2013

OS X 10.8.x с домашним пивом:

brew install curl-ca-bundle
brew list curl-ca-bundle
cp /usr/local/Cellar/curl-ca-bundle/1.87/share/ca-bundle.crt /usr/local/etc/openssl/cert.pem
4 голосов
/ 03 октября 2015

Я исправил эту проблему, запустив ее в терминале. Полная запись доступна более здесь

rvm install 2.2.0 --disable-binary
4 голосов
/ 07 декабря 2012

Это сработало для меня. Если вы используете rvm и brew:

rvm remove 1.9.3
brew install openssl
rvm install 1.9.3 --with-openssl-dir=`brew --prefix openssl`
4 голосов
/ 06 мая 2015

Я столкнулся с этой проблемой, и предложенное исправление rvm osx-ssl-certs update all не сработало, несмотря на то, что я являюсь пользователем RVM в OSX.

Исправление, которое работало для меня, переустанавливало последнюю версию openssl:

brew update
brew remove openssl
brew install openssl
...