Das Ausführen wget https://www.dropbox.com
führt beispielsweise zu folgenden Fehlern:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
Das Ausführen wget https://www.dropbox.com
führt beispielsweise zu folgenden Fehlern:
ERROR: The certificate of `www.dropbox.com' is not trusted.
ERROR: The certificate of `www.dropbox.com' hasn't got a known issuer.
Antworten:
Wenn ich mir die aktuellen Hacky-Lösungen hier anschaue, muss ich doch eine richtige Lösung beschreiben.
Zuerst müssen Sie das cygwin-Paket ca-certificates
über die setup.exe von Cygwin installieren, um die Zertifikate zu erhalten.
Verwenden Sie KEINE Curl- oder ähnlichen Hacks, um Zertifikate herunterzuladen (als benachbarte Antwortempfehlung), da dies grundsätzlich unsicher ist und das System gefährden kann.
Zweitens müssen Sie wget mitteilen, wo sich Ihre Zertifikate befinden, da sie in der Cygwin-Umgebung nicht standardmäßig abgerufen werden. Wenn Sie dies entweder mit dem Befehlszeilenparameter --ca-directory=/usr/ssl/certs
(am besten für Shell-Skripte) oder durch Hinzufügen ca_directory = /usr/ssl/certs
zur ~/.wgetrc
Datei tun können .
Sie können dies auch beheben, indem Sie ln -sT /usr/ssl /etc/ssl
wie in einer anderen Antwort angegeben ausführen. Dies funktioniert jedoch nur, wenn Sie Administratorzugriff auf das System haben. Andere Lösungen, die ich beschrieben habe, erfordern das nicht.
ln -s /etc/ssl /usr/ssl
mir nicht sicher, ob es ein Tippfehler ist, habe aber für mich funktioniert.
Wenn Sie die Gültigkeit des Zertifikats nicht überprüfen möchten, fügen Sie einfach die --no-check-certificate
Option in der wget-Befehlszeile hinzu. Das hat bei mir gut funktioniert.
HINWEIS: Dies öffnet Sie für Man-in-the-Middle-Angriffe (MitM) und wird nicht empfohlen, wenn Sie Wert auf Sicherheit legen.
Wenn das Problem darin besteht, dass eine bekannte Stammzertifizierungsstelle fehlt und Sie Ubuntu oder Debian verwenden, können Sie das Problem mit dieser einen Zeile lösen:
sudo apt-get install ca-certificates
update-ca-certificates
das Problem gelöst.
update-ca-certificates
ist ein Ubuntu-Befehl, der in Debian nicht verfügbar ist.
Zunächst müssen die SSL-Zertifikate installiert werden. Anleitung (basierend auf 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
Das oben Genannte reicht aus, um es zu beheben curl
, wget
erfordert jedoch einen zusätzlichen Symlink:
ln -sT /usr/ssl /etc/ssl
Vielleicht hilft das:
wget --no-check-certificate https://blah-blah.tld/path/filename
Ich habe das ähnliche Problem und habe es behoben, indem ich mein Antivirenprogramm (Kaspersky Free 18.0.0.405) vorübergehend deaktiviert habe. Dieser AV verfügt über ein HTTPS-Abfangmodul, das alle in HTTPS-Antworten gefundenen Zertifikate automatisch selbst signiert.
Wget von Cygwin weiß nichts über das AV-Stammzertifikat. Wenn also festgestellt wird, dass das Zertifikat der Website mit einem nicht vertrauenswürdigen Zertifikat signiert wurde, wird dieser Fehler ausgegeben.
Um dies dauerhaft zu beheben, ohne AV zu deaktivieren, sollten Sie das AV- /etc/pki/ca-trust/source/anchors
Stammzertifikat aus dem Windows-Zertifikatspeicher in eine PEM-Datei (Base64-Codierung) kopieren und ausführenupdate-ca-trust
Wenn Sie Windows verwenden, gehen Sie einfach zur Systemsteuerung, klicken Sie auf automatische Updates und dann auf den Link Windows Update-Website. Folgen Sie einfach dem Schritt. Zumindest funktioniert dies für mich, es werden keine Zertifikate mehr ausgestellt, dh wenn ich wie zuvor zu https://www.dropbox.com gehe .