web-dev-qa-db-ja.com

「gemインストール基盤」で証明書の検証に失敗しました

Nodejs、Ruby、およびgit plus bowerをインストールした後にFoundationをインストールしようとしています。

次のエラーが発生し続けますが、修正方法がわかりません。

有効なgem 'foundation'(> = 0)が見つかりませんでした。理由は次のとおりです: https://rubygems.org/ からデータをダウンロードできません-SSL_connectが返されました= 1 errno = 0 state = SSLv3サーバー証明書Bの読み取り:証明書の検証に失敗しました( https://api.rubygems.org/latest_specs.4.8.gz

何か案は?

21
NixondisNRVA

これを試してください(迅速ですが安全ではありません)

gem sources --remove https://rubygems.org/
gem sources -a http://rubygems.org/

注:HTTP経由のダウンロードは暗号化されません

41
Dongho Yoo

[〜#〜] rvm [〜#〜]を使用している場合(強く推奨)実行できます

rvm osx-ssl-certs update all

それ以外の場合は、 http://guides.rubygems.org/ssl-certificate-update/ の指示に従ってください。 そしてupdate_rubygems patchは私にとって何もしませんでした。手動で.pemファイルをインストールすると、おそらくうまくいきました。

RVMがなければリンクはあなたが試すことができることを示唆しています...

gem install bundler

または

gem update --system
17
Ryan Taylor

これを見て、問題が詳細に説明されています:

https://Gist.github.com/luislavena/f064211759ee0f806c88

12
Sébastien

背景を読み、これを修正する方法について rubygems.orgからの公式ガイド に従ってください。

TL; DR:

  1. ダウンロード rubygems-update-2.6.7.gem (新しいバージョンがリリースされるとリンクが古くなる)
  2. gem install --local $USER\Downloads\rubygems-update-2.6.7.gem
    (Try %userprofile% instead of $USER if using Windows)
  3. update_rubygems --no-ri --no-rdoc
  4. gem uninstall rubygems-update -x
8
gerrytan

Sébastienからの参照 から取得

基本的には、 最新の証明書 をダウンロードして$RUBYHOME/lib/Ruby/2.1.0/rubygems/ssl_certsに配置します。 (2.1.0とは異なるバージョンのrubygemsがインストールされている可能性があるため、パスを適切に調整してください)。

Rubygemsは、次にgemコマンドを呼び出すときに証明書を使用する必要があります。

4
h3xStream

Linuxまたはdockerコンテナーでは、次のコマンドで問題が解決します。

curl https://raw.githubusercontent.com/rubygems/rubygems/master/lib/rubygems/ssl_certs/index.rubygems.org/GlobalSignRootCA.pem > $(Ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE')

上記のコマンドは、rubygemsがWebサイトに接続するときに予期するCA証明書を取得し、Rubyが証明書の存続を期待する場所にインストールします。

問題を1行のコードで解決するスマートな方法を詳しく説明してくれたGabe Evansに感謝 ブログ投稿 に感謝します。

Gabeのソリューションを変更して、rubygems website で指定されたCA証明書を使用しました。この問題が発生した理由の詳細については、そこで説明されています。

このソリューションの利点は、httpsを使用してrubygemsの更新された証明書をフェッチすることです。 githubからこの証明書を取得するため、SHA1証明書でも機能します。また、opensslライブラリをプルして証明書を配置する必要があるため、Rubyを使用しているので便利です。

1
user1465368

Gemインストールをバージョン2.6.7に更新する必要があります。ここでこの解決策を試してください:

https://github.com/rubygems/rubygems/issues/177

http://guides.rubygems.org/ssl-certificate-update/#installing-using-update-packages

1