it-swarm.com.de

SSL-Fehler: Routinen: SSL3_GET_SERVER_CERTIFICATE: Zertifikatprüfung fehlgeschlagen

Ich habe eine große Anzahl von Datei-Download-Links in einer txt-Datei. Ich versuche, ein python-Skript zu schreiben, um alle Dateien gleichzeitig herunterzuladen, aber ich bekomme die folgende Fehlermeldung:

SSLError: [Errno 1] _ssl.c:499: error:14090086:SSL routines:SSL3_GET_SERVER_CERTIFICATE:certificate verify failed 

Die Datei wird über das Intranet heruntergeladen.

Ich habe versucht, die Datei über den Browser herunterzuladen, und es wurde ein Popup mit some certificate angezeigt. Ich habe versucht, es zu googeln, fand aber keinen Weg, um das Problem zu lösen.

25
Sangamesh

Das Serverzertifikat ist ungültig, entweder weil es von einer ungültigen Zertifizierungsstelle (interne Zertifizierungsstelle, selbst signiert, ...) signiert wurde, nicht mit dem Namen des Servers übereinstimmt oder weil es abgelaufen ist.

In jedem Fall müssen Sie herausfinden, wie Sie der Python-Bibliothek mitteilen, dass Sie nicht bei einem ungültigen Zertifikat anhalten dürfen, wenn Sie wirklich Dateien von diesem Server herunterladen möchten.

19
Remi Gacogne

Das habe ich selbst bei der Verwendung vonrequestserfahren:

Dies ist äußerst unsicher. Verwenden Sie nur als letzten Ausweg! (Siehe den Kommentar von rdlowrey.)

requests.get('https://github.com', verify=True)

Diesen verify=False zu machen, hat den Trick für mich gemacht.

15
Stevenm

Ich habe dieses Problem heute bekommen und nachdem ich einige Stunden gewandert war, wusste ich, dass meine Server-Zeit falsch war.

Bitte überprüfen Sie daher zuerst Ihre Server-Datumszeit, bevor Sie sich eingehend mit diesem Problem befassen.

versuchen Sie es auch

>> Sudo update-ca-certificates
13
Hemant_Negi

Diesen Fehler habe ich kürzlich in einer Python-App mit Anfragen auf Ubuntu 14.04LTS erhalten, von denen ich dachte, dass sie einwandfrei lief (vielleicht war es und ein Update kam vor). Durch die folgenden Schritte wurde es für mich behoben:

pip install --upgrade setuptools
pip install -U requests[security]

Hier ist eine Referenz: https://stackoverflow.com/a/39580231/996117

2
JimJty

es kann auch vorkommen, dass Ihre Ortszeit abgelaufen ist (z. B. vor der Gültigkeitsprüfung der Zertifikate). Dies war in meinem Fehler der Fall ...

1
Stef

Normalerweise funktioniert das Aktualisieren von certifi und/oder der Datei certifi cacert.pem. Ich musste auch meine Version von Python aktualisieren. Vs. 2.7.5 funktionierte nicht, weil es mit SNI-Anfragen umgehen konnte.

Sobald Sie eine aktuelle PEM-Datei haben, können Sie Ihre http-Anfrage über Folgendes stellen:

requests.get(url, verify='/path/to/cacert.pem')

0
ajon

Ich habe dasselbe Problem wegen der certifi-Bibliothek erfahren. Die Installation einer anderen Version hat mir auch geholfen.

0
desertkun