J'obtiens l'erreur suivante en utilisant curl :
curl: (77) error setting certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: none
Comment définir les emplacements de vérification de ce certificat ?
J'obtiens l'erreur suivante en utilisant curl :
curl: (77) error setting certificate verify locations:
CAfile: /etc/ssl/certs/ca-certificates.crt
CApath: none
Comment définir les emplacements de vérification de ce certificat ?
J'ai également installé la dernière version de ca-certificates, mais j'ai toujours obtenu l'erreur :
curl: (77) error setting certificate verify locations:
CAfile: /etc/pki/tls/certs/ca-bundle.crt
CApath: none
Le problème est que curl s'attend à ce que le certificat se trouve au chemin d'accès /etc/pki/tls/certs/ca-bundle.crt
mais n'a pas pu le trouver car il se trouvait sur le chemin /etc/ssl/certs/ca-certificates.crt
.
Copier mon certificat vers la destination prévue en exécutant
sudo cp /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt
a fonctionné pour moi. Vous devrez créer des dossiers pour la destination cible s'ils n'existent pas en lançant
sudo mkdir -p /etc/pki/tls/certs
Si nécessaire, modifiez la commande ci-dessus pour que le nom du fichier de destination corresponde au chemin attendu par curl, c'est-à-dire remplacez /etc/pki/tls/certs/ca-bundle.crt
avec le chemin qui suit "CAfile :" dans votre message d'erreur.
Cette erreur est liée à une paquet manquant : ca-certificates
. Installez-le.
Dans Ubuntu Linux (et autres distributions similaires) :
# apt-get install ca-certificates
Dans CygWin via Apt-Cyg
# apt-cyg install ca-certificates
Dans Arch Linux (Raspberry Pi)
# pacman -S ca-certificates
La documentation l'indique :
Ce paquet comprend des fichiers PEM de certificats d'autorité de certification pour permettre aux applications basées sur SSL de vérifier l'authenticité des connexions SSL.
Tel que vu sur : Debian -- Détails du paquet ca-certificates dans squeeze
Le moyen le plus rapide de contourner l'erreur est d'ajouter l'option -k quelque part dans votre requête curl. Cette option "autorise les connexions aux sites SSL sans certificat". (extrait de curl --help)
Sachez que cela peut signifier que vous ne parlez pas au point de terminaison que vous pensez être, car il présente un certificat qui n'est pas signé par une autorité de certification en laquelle vous avez confiance.
Par exemple :
$ curl -o /usr/bin/apt-cyg https://raw.github.com/cfg/apt-cyg/master/apt-cyg
m'a donné la réponse d'erreur suivante :
curl: (77) error setting certificate verify locations:
CAfile: /usr/ssl/certs/ca-bundle.crt
CApath: none
J'ai ajouté -k :
curl -o /usr/bin/apt-cyg https://raw.github.com/cfg/apt-cyg/master/apt-cyg -k
et aucun message d'erreur. En prime, j'ai maintenant installé apt-cyg. Et ca-certificats.
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.