277 votes

Erreur SSL Lors de l'installation de rubygems, Incapable d'extraire des données à partir de 'https://rubygems.org/

Je suis en train de faire le Michael Hartl tutoriel. Quand je tente d'installer des rails 3.2.14 dans mon sertie, j'ai le problème suivant:

Les utilisateurs de MacBook Air:~ de l'utilisateur$ gem install rails-v 3.2.14
ERREUR: impossible de trouver un valable gem 'rails' (= 3.2.14), voici pourquoi:
 Impossible de télécharger des données à partir de https://rubygems.org/ - SSL_connect retourné=1 errno=0=SSLv3 lire certificat de serveur B: certificat de vérifier échoué (https://s3.amazonaws.com/production.s3.rubygems.org/specs.4.8.gz)

Après Googler autour, j'ai trouvé que je pouvais utiliser un non-SSL source pour rubygems alors, j'ai couru:

sudo gem sources -a http://rubygems.org

Puis, quand j'ai essayé d'installer des rails de nouveau, il a réussi. Cependant, j'ai toujours le problème ci-dessus, mais comme un avertissement:

AVERTISSEMENT: Impossible d'extraire les données à partir de 'https://rubygems.org/': SSL_connect retourné=1 errno=0=SSLv3 lire certificat de serveur B: certificat de vérifier échoué (https://s3.amazonaws.com/production.s3.rubygems.org/specs.4.8.gz)

Comment puis-je supprimer cet avertissement/d'erreur tout?

Je suis en utilisant le suivant:

$rvm -v; ruby -v

rvm 1.22.15 (stable) by Wayne E. Seguin <wayneeseguin@gmail.com>, Michal Papis <mpapis@gmail.com> [https://rvm.io/]

ruby 2.0.0p247 (2013-06-27 revision 41674) [x86_64-darwin12.3.0]

Et OSX 10.8.5

387voto

mpapis Points 32015

Pour RVM & OSX

Assurez-vous d'utiliser la dernière rvm:

rvm get stable

Ensuite, vous pouvez faire deux choses:

  1. Mettre à jour les certificats:

    rvm osx-ssl-certs update all
    
  2. Mise à jour de rubygems:

    rvm rubygems latest
    

Pour les non RVM utilisateurs

Trouver le chemin d'accès pour le certificat:

cert_file=$(ruby -ropenssl -e 'puts OpenSSL::X509::DEFAULT_CERT_FILE')

Générer un certificat:

security find-certificate -a -p /Library/Keychains/System.keychain > "$cert_file"
security find-certificate -a -p /System/Library/Keychains/SystemRootCertificates.keychain >> "$cert_file"

L'ensemble du code: https://github.com/wayneeseguin/rvm/blob/master/scripts/functions/osx-ssl-certs


Pour les non OSX

Assurez-vous de mettre à jour le package ca-certificates. (sur les vieux systèmes, elle peut ne pas être disponible - ne pas utiliser cet ancien système qui n'a pas de recevoir des mises à jour de sécurité)

55voto

eduardo Points 650

Si vous souhaitez utiliser le non-SSL source, essayez de supprimer le HTTPS source première, puis en ajoutant les HTTP:

sudo gem sources -r https://rubygems.org
sudo gem sources -a http://rubygems.org  

Mise à JOUR:

Comme mpapis unis, ce ne devait être qu'une solution temporaire. Il pourrait y avoir quelques problèmes de sécurité si vous avez accès RubyGems à travers la non-SSL source.

Une fois la solution de contournement n'est plus nécessaire, vous devez restaurer la SSL-source:

sudo gem sources -r http://rubygems.org
sudo gem sources -a https://rubygems.org

7voto

user3408293 Points 334

L'exécution gem update --system a fonctionné pour moi

3voto

Paulo Fidalgo Points 5207

Si vous utilisez windows, ouvrez https://rubygems.org/ avec internet explorer.

Cliquez sur les informations de sécurité et d'importer le certificat. La ligne de fond est votre chaîne de certification est obsolète et vous avez besoin d'ajouter ce nouveau certificat. Rappelez-vous que ce n'est pas une violation de la sécurité aussi longtemps que vous pouvez valider le certificat de confiance.

3voto

ENDOH takanao Points 396

Pour les utilisateurs de Fedora

Mise à jour de l' cert.pem à la plus récente du fichier qui fournissent par cURL: http://curl.haxx.se/ca/cacert.pem

curl -o `ruby -ropenssl -e 'p OpenSSL::X509::DEFAULT_CERT_FILE' |tr -d \"` http://curl.haxx.se/ca/cacert.pem

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X