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 eu exactement le même problème. Il s'avère que mon /etc/ssl/certs/ca-certificates.crt
était malformé. La dernière entrée ressemblait à ceci :
-----BEGIN CERTIFICATE-----
MIIEDTCCAvWgAwIBAgIJAN..lots of certificate text....AwIBAgIJAN-----END CERTIFICATE-----
Après avoir ajouté une nouvelle ligne avant -----END CERTIFICATE-----
curl a pu traiter le fichier de certificats.
C'était très ennuyeux à découvrir, car mon update-ca-certificates
Le commandement ne m'a pas prévenu.
Il peut s'agir ou non d'un problème spécifique à une version de curl, voici donc ma version, par souci d'exhaustivité :
curl --version
# curl 7.51.0 (x86_64-alpine-linux-musl) libcurl/7.51.0 OpenSSL/1.0.2j zlib/1.2.8 libssh2/1.7.0
# Protocols: dict file ftp ftps gopher http https imap imaps pop3 pop3s rtsp scp sftp smb smbs smtp smtps telnet tftp
# Features: IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP UnixSockets
Curl effectue SSL
la vérification des certificats par défaut, en utilisant un "paquet" de certificats. de Certificate Authority (CA)
les clés publiques (CA certs). Le paquet est nommé curl-ca-bundle.crt ; à l'aide de l'option --cacert.
Si cette HTTPS
utilise un certificat signé par une autorité de certification représentée dans le fichier la liasse, la vérification du certificat a probablement échoué en raison d'un problème avec le certificat (il peut avoir expiré, ou le nom peut ne pas correspondre au nom de domaine dans l'UR). ne correspond pas au nom de domaine dans l'URL).
Si vous souhaitez désactiver la vérification du certificat par curl, utilisez l'option -k (ou --insecure
).
par exemple
curl --insecure http://........
Ceci a fonctionné pour moi
sudo apt-get install ca-certificates
puis aller dans le dossier des certificats à l'adresse
sudo cd /etc/ssl/certs
puis vous copiez le fichier ca-certificates.crt dans le répertoire /etc/pki/tls/certs
sudo cp ca-certificates.crt /etc/pki/tls/certs
Il semble que votre curl pointe vers un fichier inexistant contenant des certificats CA ou similaires.
Pour la référence principale sur les certificats CA avec curl, voir : https://curl.haxx.se/docs/sslcerts.html
Il suffit de créer les dossiers qui manquent dans votre système
/etc/pki/tls/certs/
et créez le fichier à l'aide de la commande suivante,
sudo apt-get install ca-certificates
puis copier et coller le certificat dans le dossier de destination, ce qui apparaît dans votre erreur le mien était " with message 'error setting certificate verify locations: CAfile: /etc/pki/tls/certs/ca-bundle.crt CApath: none' in
"Assurez-vous de coller le fichier à l'endroit exact mentionné dans l'erreur. Utilisez la commande suivante pour copier-coller
sudo cp /etc/ssl/certs/ca-certificates.crt /etc/pki/tls/certs/ca-bundle.crt
Fixe.
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.