2013-08-21 9 views
8

私はrubyアプリケーションで"certificate verify failed (OpenSSL::SSL::SSLError)"を手に入れていました。私のMac OS X(Mountain Lion)システムで古いopensslを更新することにしました。OS Xでopensslをインストール

私はhereから最新のソースをつかんで、

  • に./configure darwin64-x86_64の-CC
  • 通常は
  • メイクテスト
  • sudoは

をmake installを作りました...そして明らかな誤りなしですべてが完了しました。私は既存のものを壊すのを恐れための重要なシステムファイルと周りの混乱に躊躇してい

$ which openssl 
/usr/bin/openssl 
$ /usr/bin/openssl version 
OpenSSL 0.9.8x 10 May 2012 
$ /usr/local/ssl/bin/openssl version 
OpenSSL 1.0.1e 11 Feb 2013 

:しかし、私は新しいOpenSSLが古いOpenSSLを交換していないことに気づきます。推奨されるアプローチは何ですか?私は/ usr/bin/opensslを/ usr/local/ssl/binバージョンへのシンボリックリンクに置き換えることを考えています。それは働くだろうか?システム上のローカルコピーを優先する

+0

ここで使用したソリューションを確認してください> https://stackoverflow.com/a/46179272/844890 – shaunthomas999

答えて

9

はあなたがこれはあなただけであなたの.bash_profileに追加シェルを起動するたびに実行したい場合は、シェルのPATH変数

export PATH="/usr/local/ssl/bin:$PATH" 

に追加する必要がありますコピーあなたのホームディレクトリ。

しかし、Rubyを新しいOpenSSLに対して再コンパイルする必要があるため、これは問題を解決しません(新しいOpenSSLに付属する更新されたルート証明書ファイルがこの問題を仮定していると仮定します)。 rvmまたはrbenvのいずれかをインストールし、ルビーを再構築することをお勧めします。どちらのツールも、homebrewでopensslをインストールすることをお勧めします。

+1

これで十分です。 FWIW、私はすべてのRuby実行可能ファイルとライブラリをサンドボックスに入れ、(哲学的な点で)決してシステムファイルに触れることはなく、sudoを必要としない独自のビルドスクリプトを持っています。それは私自身のバージョンのrvmだと思います。 –

関連する問題