OpenSSL :: SSL :: SSLError SSL_connect返回= 1 errno = 0状态= SSLv3读取服务器证书B:证书验证失败

His*_*shi 2 homebrew curl openssl ruby-on-rails omniauth

我的环境,

% openssl version
OpenSSL 0.9.8r 8 Feb 2011
% curl --version
curl 7.24.0 (x86_64-apple-darwin12.0) libcurl/7.24.0 OpenSSL/0.9.8r zlib/1.2.5
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IPv6 Largefile NTLM NTLM_WB SSL libz
% rails -v
Rails 3.0.3
% ruby -v
ruby 1.9.2p320 (2012-04-20 revision 35421) [x86_64-darwin12.2.0]
% rvm --version
rvm 1.15.0 (latest) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

omniauth version is '0.2.6'
Run Code Online (Sandbox Code Playgroud)

然后我通过facebook使用omniauth登录并获得以下错误.

 OpenSSL::SSL::SSLError
 SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed
Run Code Online (Sandbox Code Playgroud)

我试图解决这个问题.

在〜/ .zshrc中添加一行

 export CURL_CA_BUNDLE='/System/Library/OpenSSL/certs/cert.pem'
Run Code Online (Sandbox Code Playgroud)

我正在使用自制软件.和curl-config --ca显示空行.

 % curl-config --ca 
 (empty output)
Run Code Online (Sandbox Code Playgroud)

我怎么解决这个问题?

提前致谢.

Rah*_*hul 6

如果您使用brew和rvm,请使用以下命令:

rvm remove 1.9.3
brew install openssl
rvm install 1.9.3 --with-openssl-dir=`brew --prefix openssl`
Run Code Online (Sandbox Code Playgroud)