107 votes

Comment réparer curl: (60) certificat SSL: chaîne de certificats non valide

Je reçois l'erreur suivante en exécutant curl https://npmjs.org/install.sh | sh sur Mac OSX 10.9 (Mavericks) :

install npm@latest
curl: (60) Problème de certificat SSL : Chaîne de certificats non valide
Plus de détails ici : http://curl.haxx.se/docs/sslcerts.html

Comment puis-je corriger cela ?

7voto

Sous MacOS High Sierra/10.13:

~$brew install curl ca-certificates fonctionne parfaitement pour moi.

3voto

Matt Connolly Points 4851

Une autre cause de ce problème peut être des clés en double dans votre trousseau. J'ai rencontré ce problème sur deux Mac où il y avait des doublons de "DigiCert High Assurance EV Root CA". L'un était dans le trousseau de connexion, l'autre dans le système. Supprimer le certificat du trousseau de connexion a résolu le problème.

Cela a affecté le navigateur Safari ainsi que git en ligne de commande.

3voto

Supposons que vous essayez de télécharger quelque chose en utilisant curl ou d'installer hub en utilisant brew, alors, vous obtenez une erreur du type :

==> Téléchargement https://ghcr.io/v2/linuxbrew/core/ncurses/manifests/6.2
curl: (60) problème de certificat SSL : impossible d'obtenir un certificat d'émetteur local

Ensuite, laisser ghcr.io être le serveur, exécutez les commandes suivantes :

cd ~
# Téléchargez le certificat :
openssl s_client -showcerts -servername ghcr.io  -connect ghcr.io:443 > cacert.pem
# tapez "quit", suivi de la touche "ENTRÉE" / ou Ctrl+C
# visualisez les données dans le certificat :
openssl x509 -inform PEM -in cacert.pem -text -out certdata-ghcr.io.txt
# déplacez le fichier vers le répertoire du magasin de certificats :
sudo mv cacert.pem /usr/local/share/ca-certificates/cacert-ghcr.io.crt
# mettre à jour les certificats
sudo update-ca-certificates
# terminé !

Références

2voto

Après avoir essayé toutes les solutions ci-dessus pour éliminer l'erreur "curl: (60) Problème de certificat SSL : impossible d'obtenir le certificat d'émetteur local", la solution qui a finalement fonctionné pour moi sur OSX 10.9 était :

  1. Trouver l'emplacement du fichier de certificat PEM de curl 'curl-config --ca' -- > /usr/local/etc/openssl/cert.pem

  2. Utiliser l'emplacement du dossier pour identifier le fichier PEM 'cd /usr/local/etc/openssl'

  3. Créer une sauvegarde du fichier cert.pem 'cp cert.pem cert_pem.bkup'

  4. Télécharger le fichier de certificat mis à jour à partir du site web de curl 'sudo wget http://curl.haxx.se/ca/cacert.pem'

  5. Copier le fichier PEM téléchargé pour remplacer l'ancien fichier PEM 'cp cacert.pem cert.pem'

Il s'agit d'une version modifiée d'une solution postée pour corriger le même problème sous Ubuntu que l'on trouve ici :

https://serverfault.com/questions/151157/ubuntu-10-04-curl-how-do-i-fix-update-the-ca-bundle

1voto

julez Points 51

J'ai commencé à voir cette erreur après avoir installé la dernière mise à jour des outils en ligne de commande (6.1) sur Yosemite (10.10.1). Dans ce cas particulier, un redémarrage du système a corrigé l'erreur (je n'avais pas redémarré depuis la mise à jour).

Je mentionne ceci au cas où quelqu'un rencontrant le même problème tombe sur cette page, comme moi.

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