2

私の環境、

% 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'

次に、omniauth を使用して facebook 経由でログインすると、次のエラーが表示されます。

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

この問題を解決しようとしました。

~/.zshrc に 1 行追加します

 export CURL_CA_BUNDLE='/System/Library/OpenSSL/certs/cert.pem'

私は自家醸造を使用しています。および curl-config --ca は空の行を表示します。

 % curl-config --ca 
 (empty output)

どうすればこの問題を解決できますか?

前もって感謝します。

4

3 に答える 3

6

brew と rvm を使用している場合は、次を使用します。

rvm remove 1.9.3
brew install openssl
rvm install 1.9.3 --with-openssl-dir=`brew --prefix openssl`
于 2012-12-07T18:21:34.107 に答える
2

ここにあなたのために働くかもしれない解決策がたくさんあります:

http://railsapps.github.com/openssl-certificate-verify-failed.html

それでもうまくいかない場合は、rvm SSL フォルダーに証明書を強制的にダウンロードする必要があったことを除いて、Rahul からの回答がほとんど役に立ちました。

rvm pkg install openssl
rvm install 1.9.3-p374 –with-openssl-dir=$rvm_path/usr
cd $rvm_path/usr/ssl
curl -O http://curl.haxx.se/ca/cacert.pem
mv cacert.pem cert.pem

これが役に立てば幸いです、ヴィンセント

于 2013-02-07T08:47:14.000 に答える
1

役立つかもしれない2つのこと。まず、コマンド ラインで openssl を使用して、証明書が適切にチェーンされていることをテストできます。例えば:

openssl verify -CAfile your-bundle.crt your.crt

これには、facebook からの公開鍵をバンドルに追加することが含まれる場合がありますが、使用している証明書の詳細がなければ、何とも言えません。次に、CURL_CA_BUNDLE をエクスポートする際に正しい道を進んでいます。チェーンが正しい場合、別のオプションはいくつかのコマンドライン オプションで curl を使用することです。例えば:

curl --verbose --head https://example.com:443/ --cert ./testclient.crt --key testclient.key --cacert test-bundle.crt

申し訳ありませんが、質問の omniauth 側についてはお手伝いできません。幸運を!

于 2012-09-24T16:13:30.407 に答える