3

私はこのエラーを抱えている多くの人々を見てきましたが、解決策は私のためにそれを修正していないようです:

ruby-1.9.3-p0/lib/ruby/1.9.1/net/http.rb:799:in `connect': SSL_connect returned=1 errno=0 state=SSLv3 read server certificate B: certificate verify failed (OpenSSL::SSL::SSLError)

証明書ファイルのシフトを提案するソリューションはたくさんあるようです。私はmacports、自作、作品をインストールおよびアンインストールしました。キーをgithub用に正しく設定しています。githubにファイルがあるテンプレートを呼び出すRailsビルドを実行しようとすると、エラーが発生します。

システム:MacOSX10.6-最近のアップグレード。Ruby 1.9.3、これも最近のアップグレードです。レール3.2。私は牛が家に帰ってこの問題に何時間も費やすまでグーグルで検索しました。このようなqがいくつかあるように見えますが、誰かが解決策を見つけてまだ投稿していないことを願っています。なぜそれが起こっているのか私は知っていると思います-net/httpは証明書を見つけていませんよね?しかし、私はそれを修正する方法を理解することはできません。どんな親切な助けにも前もって感謝します。

編集:詳細情報。ruby 1.9.2(rvm use 1.9.2)でまったく同じビルドを試行すると、エラーをスローせずに完了します。

別の編集:opensslパッケージに関するrvmページのすべてのものを試し、それをインストールして、そのパッケージでopensslを指す構成フラグを指定してruby-1.9.3を再インストールしました。まだ喜びはありません。

もう1つの編集:問題が発生しているのはOpenURIのようです-証明書の場所を認識させる方法が見つかりません:-(

4

1 に答える 1

2

MacOS の http.rb ソース (L:669) を直接変更するだけです。

def use_ssl=(flag)
  flag = flag ? true : false
  if started? and @use_ssl != flag
    raise IOError, "use_ssl value changed, but session already started"
  end
  if flag && !@ca_file //added by riceball
    @ca_file = '/opt/local/share/curl/curl-ca-bundle.crt' 
  end

最初にインストールする必要があります

 port install curl-ca-bundle
于 2012-02-29T12:49:03.820 に答える