web-dev-qa-db-fra.com

curl: (60) Problème de certificat SSL: impossible d'obtenir le certificat de l'émetteur local

Edit: J'avais mis à jour mes certificats d'autorité de certification racine à partir de curl.haxx.se.


Lorsque j'essaie curl -Iv https://yahoo.com j'obtiens une erreur unable to get local issuer certificate dans le résultat. Cependant, si j'essaie curl -Iv --cacert /etc/ssl/certs/ca-certificates.crt https://yahoo.com j'obtiens un résultat sans erreur.

Bizarrement curl -Iv https://google.com fonctionne correctement. Mais curl -Iv https://deb.nodesource.com ne le fait pas.

Y a-t-il une chance de surmonter ce problème? (en changeant la configuration de curl, etc.)

root@ip-172-31-40-176:/var# curl -Iv https://yahoo.com
* Rebuilt URL to: https://yahoo.com/
* Hostname was NOT found in DNS cache
*   Trying 206.190.36.45...
* Connected to yahoo.com (206.190.36.45) port 443 (#0)
* successfully set certificate verify locations:
*   CAfile: none
  CApath: /etc/ssl/certs
* SSLv3, TLS handshake, Client hello (1):
* SSLv3, TLS handshake, Server hello (2):
* SSLv3, TLS handshake, CERT (11):
* SSLv3, TLS alert, Server hello (2):
* SSL certificate problem: unable to get local issuer certificate
* Closing connection 0
curl: (60) SSL certificate problem: unable to get local issuer certificate
More details here: http://curl.haxx.se/docs/sslcerts.html

curl performs SSL certificate verification by default, using a "bundle"
 of Certificate Authority (CA) public keys (CA certs). If the default
 bundle file isn't adequate, you can specify an alternate file
 using the --cacert option.
If this HTTPS server uses a certificate signed by a CA represented in
 the bundle, the certificate verification probably failed due to a
 problem with the certificate (it might be expired, or the name might
 not match the domain name in the URL).
If you'd like to turn off curl's verification of the certificate, use
 the -k (or --insecure) option.
2
efkan

Becase curl ne peut pas vérifier le certificat fourni par le serveur.

Il y a deux façons de contourner:

1.add -k option qui permet à curl d'établir des connexions non sécurisées, ce qui ne vérifie pas le certificat.

2.ajouter racine curl ca ( télécharger ici ) à /etc/ssl/certs/nodesource-ca.crt

2
Mithril

Ou, pour moi, travaillait simplement ceci:

Sudo apt-get install ca-certificates
0
Maxim Krušina