Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/url/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails OpenSSL::SSL::SSLError-SSL\u connect返回=1 errno=0 state=SSLv3读取服务器证书B:证书验证失败_Ruby On Rails_Ruby On Rails 3 - Fatal编程技术网

Ruby on rails OpenSSL::SSL::SSLError-SSL\u connect返回=1 errno=0 state=SSLv3读取服务器证书B:证书验证失败

Ruby on rails OpenSSL::SSL::SSLError-SSL\u connect返回=1 errno=0 state=SSLv3读取服务器证书B:证书验证失败,ruby-on-rails,ruby-on-rails-3,Ruby On Rails,Ruby On Rails 3,我得到这个错误: 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 =>

我得到这个错误:

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

其中ca束是:

其中cacert.pem是:


我正在使用Windows7。有没有人能解决这个问题,或者我做错了什么。
.pem
.crt
之间有什么区别?

Ruby找不到任何根证书

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

require 'openssl'
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE
资料来源:(我对类似问题的回答)


您可能也想看看这个。

嘿,您的问题解决了吗?如果是,请接受正确答案。如果没有正确答案,请添加解决问题的答案,这样每个人都可以从中受益。这个问题有3年了,我记不起我是否得到了可以使用的答案。如果不是这样,我会接受的。
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
require 'openssl'
OpenSSL::SSL::VERIFY_PEER = OpenSSL::SSL::VERIFY_NONE