Das Ausführen wget https://www.dropbox.comfü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.comfü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/certszur ~/.wgetrcDatei tun können .
Sie können dies auch beheben, indem Sie ln -sT /usr/ssl /etc/sslwie 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/sslmir 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-certificateOption 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-certificatesdas Problem gelöst.
update-ca-certificatesist 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, wgeterfordert 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/anchorsStammzertifikat 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 .