Comment puis-je corriger les erreurs de certificat lorsque j'exécute wget sur une URL HTTPS dans Cygwin?

par exemple, l'exécution de wget https://www.dropbox.com produit les erreurs suivantes:

ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
144
demandé sur Russell Davis 2012-02-10 11:35:38

8 réponses

en regardant les solutions actuelles de hacky ici, je sens que je dois décrire une solution appropriée après tout.

Première", 151990920", vous devez installer l'environnement cygwin ca-certificates via Cygwin du programme d'installation.exe pour obtenir les certificats.

N'utilisez pas curl ou des hacks similaires pour télécharger des certificats (comme des conseils de réponse voisins) parce que qui est fondamentalement peu sûr et peut compromettre le système.

Second, vous devez dire à wget où sont vos certificats, car il ne les récupère pas par défaut dans L'environnement Cygwin. Si vous pouvez faire cela soit avec le paramètre de ligne de commande --ca-directory=/usr/ssl/certs (meilleur pour les scripts shell) ou en ajoutant ca_directory = /usr/ssl/certs au fichier ~/.wgetrc .

vous pouvez également corriger cela en lançant ln -sT /usr/ssl /etc/ssl comme indiqué dans une autre réponse, mais cela ne fonctionnera que si vous avez administratif l'accès au système. les autres solutions que j'ai décrites n'exigent pas cela.

120
répondu Shnatsel 2013-03-06 16:26:44

si vous ne vous souciez pas de vérifier la validité du certificat il suffit d'ajouter l'option --no-check-certificate sur la ligne de commande wget. Cela a bien fonctionné pour moi.

NOTE: Ceci vous ouvre à des attaques d'homme-dans-le-milieu (MitM), et n'est pas recommandé pour quoi que ce soit où vous vous souciez de la sécurité.

217
répondu DH4 2015-12-03 20:47:50

si le problème est qu'un CA racine connu est manquant et que vous utilisez ubuntu ou debian, alors vous pouvez résoudre le problème avec cette seule ligne:

sudo apt-get install ca-certificates
83
répondu cguenther 2016-09-14 17:26:26

tout d'abord, les certificats SSL doivent être installés. Instructions (basées sur ) https://stackoverflow.com/a/4454754/278488 ):

pushd /usr/ssl/certs
curl http://curl.haxx.se/ca/cacert.pem | awk 'split_after==1{n++;split_after=0} /-----END CERTIFICATE-----/ {split_after=1} {print > "cert" n ".pem"}'
c_rehash

ce qui précède est suffisant pour fixer curl , mais wget nécessite un lien symbolique supplémentaire:

ln -sT /usr/ssl /etc/ssl
13
répondu Russell Davis 2017-05-23 12:02:56
apt-get install ca-certificates 

le s fait la différence;)

2
répondu Pete 2018-01-16 18:38:23

Just do

apt-get install ca-certificate
-1
répondu tekintian 2017-07-29 07:12:13

peut être cela aidera:

wget --no-check-certificate https://blah-blah.tld/path/filename
-1
répondu Alexey Soloviev 2018-06-04 05:12:12

si vous utilisez windows, allez dans Panneau de configuration, cliquez sur Mises à jour automatiques, puis sur le lien Windows Update Web Site. Il suffit de suivre l'étape. Au moins ça marche pour moi, plus de certificats émis I. e chaque fois que je vais à https://www.dropbox.com comme avant.

-4
répondu Saiful 2014-08-20 03:13:46