我正在使用omniauth处理Windows上的OpenSLL错误 我已经尝试过指定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
我该怎么做才能解决这个问题?
答案 0 :(得分:1)
请尝试按照此链接中的说明操作: 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
我希望这会有所帮助。