3

REEをSSLでうまく再生させようとすると、少し悪夢に見舞われます。

SSLサイトに接続するときはいつでも:

require 'open-uri'
open 'https://www.google.com'

次のエラーが発生します。

/Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/net/http.rb:586:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/net/http.rb:586:in `connect'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/net/http.rb:553:in `do_start'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/net/http.rb:542:in `start'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:242:in `open_http'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:616:in `buffer_open'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:164:in `open_loop'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:162:in `catch'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:162:in `open_loop'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:132:in `open_uri'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:518:in `open'
from /Users/jon/.rvm/rubies/ree-1.8.7-2011.03/lib/ruby/1.8/open-uri.rb:30:in `open'

Ruby1.9.2または通常の1.8.7で正常に動作します。RVM OpenSSLページに記載されているように、OpenSSLを再パッケージ化し、それに対してリンクするためにreeをインストールしようとしましたが、効果がありませんでした。OS X 10.6.7を使用していますが、OpenSolarisREEのインストールでも同じ問題が発生しています。

どんな提案でも大歓迎です。

4

1 に答える 1

3

信頼できるCA証明書の場所を正しく取得していないようです。REEには別のコンパイル済みのデフォルトの場所が必要ですが、これはシステムにとって正しくありません。


後世のために:

OPの問題は、ダウンロードhttp://curl.haxx.se/ca/cacert.pemしてにコピーすることで解決しました/opt/local/etc/openssl/cert.pem

于 2011-05-24T05:02:45.387 に答える