【问题标题】:OpenSSL::SSL::SSLError - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failedOpenSSL::SSL::SSLError - SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
【发布时间】:2012-01-28 22:42:17
【问题描述】:

我收到此错误:

OpenSSL::SSL::SSLError

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

Rails.application.config.middleware.use OmniAuth::Builder do  
  provider :facebook, 'MY_APPID', 'SECRET', {:scope => 'publish_stream,email', :client_options => {:ssl => {:ca_path => "#{Rails.root}/config/cacert.pem"}}}
end

动作:

def callback
  session['fb_auth'] = request.env['omniauth.auth']
  session['fb_token'] = session['fb_auth']['credentials']['token']
  session['fb_error'] = nil
render :text => request.env['omniauth.auth'].to_yaml  
end

我一直在尝试解决这个问题,例如:

Rails.application.config.middleware.use OmniAuth::Builder do  
  provider :facebook, 'MY_APPID', 'SECRET', {:scope => 'publish_stream,email', :client_options => {:ssl => {:verify => false}}}
end

Rails.application.config.middleware.use OmniAuth::Builder do  
  provider :facebook, 'MY_APPID', 'SECRET', {:scope => 'publish_stream,email', :client_options => {:ssl => {:ca_path => "#{Rails.root}/config/ca-bundle.crt"}}}
end

其中 ca-bundle 为:http://certifie.com/ca-bundle/ca-bundle.crt.txt

Rails.application.config.middleware.use OmniAuth::Builder do  
  provider :facebook, 'MY_APPID', 'SECRET', {:scope => 'publish_stream,email', :client_options => {:ssl => {:ca_path => "#{Rails.root}/config/cacert.pem"}}}
end

cacert.pem 所在位置:http://curl.haxx.se/ca/cacert.pem

我使用的是 Windows 7。是否有人对此有解决方案,或者我做错了什么。 .pem.crt有什么区别?

【问题讨论】:

  • 嘿,你的问题解决了吗?如果是,请接受正确答案。如果没有正确答案,请添加解决问题的答案,以便每个人都能从中受益。
  • 这个问题已经有 3 年的历史了,不记得我是否得到了可以使用的答案。否则我不会接受它。

标签: ruby-on-rails ruby-on-rails-3


【解决方案1】:

Ruby 找不到任何根证书。

这是另一个用于调试目的的选项:

require 'openssl'
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE

来源:https://stackoverflow.com/a/12032944/1047207(我对类似问题的回答)

您可能还想看看这个Blog

【讨论】:

    猜你喜欢
    • 2012-05-30
    • 2016-01-15
    • 1970-01-01
    • 2012-03-13
    • 1970-01-01
    • 1970-01-01
    • 2016-01-26
    • 2015-12-02
    • 2017-03-11
    相关资源
    最近更新 更多