OpenSSL :: SSL :: SSLError в / auth / facebook / callback с omniauth - PullRequest
1 голос
/ 02 апреля 2012

Я имею дело с ошибкой OpenSLL в Windows, используя omniauth.
Я попытался указать файл cacert.pem. Он помещается в my_app_dir \ assets \ cacert.pem (загружается с веб-сайта curl) и

provider :facebook, APP_ID, SECRET, {:client_options => {:ssl => {:ca_file => File.dirname(__FILE__) << "assets\cacert.pem"}}}

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

SCOPE = 'email,read_stream'

APP_ID = "2XXXXXXXXXXXXX"
SECRET = "4XXXXXXXXXXXXXXXXXXXXXXX"

use OmniAuth::Builder do
  provider :facebook, APP_ID, SECRET, {:client_options => {:ssl => {:verify => false}}}
end

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

Конкретная ошибка говорит:

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

Что я могу сделать, чтобы это исправить?

1 Ответ

1 голос
/ 03 апреля 2012

Попробуйте выполнить инструкции, приведенные в этой ссылке: http://jimneath.org/2011/10/19/ruby-ssl-certificate-verify-failed.html

И в конце нужно внести небольшое изменение в fix_ssl.rb:

self.ca_file = Rails.root.join('lib/ca-bundle.crt').to_s

Надеюсь, это поможет.

...