Boto [SSL: CERTIFICATE_VERIFY_FAILED] Zertifikatprüfung fehlgeschlagen, während Verbindung zu S3 hergestellt wurde

8

Ich versuche, mit Boto eine Verbindung zu S3 herzustellen, aber es scheint zu scheitern. Ich habe einige Problemumgehungen versucht, aber sie scheinen nicht zu funktionieren. Kann mir bitte jemand dabei helfen. Unten ist der Code.

%Vor%     
Siddarth 23.01.2015, 17:18
quelle

4 Antworten

9

Ich habe einen Weg gefunden,

verwendet is_secure=False in connect_s3() .

    
Siddarth 23.01.2015, 18:40
quelle
9

Wahrscheinlich enthält Ihr Bucket-Name einen Punkt, weshalb die ssl-Zertifikatsprüfung fehlschlägt. Dies ist ein recht häufiges Problem, siehe dieses github-Problem zum Beispiel.

Verwenden Sie keine unsichere Verbindung ( is_secure=False ), verwenden Sie stattdessen OrdinaryCallingFormat :

%Vor%

Sie müssen wahrscheinlich Ihre AWS-Region aktualisieren. z.B us-east-1

    
linqu 26.06.2015 13:13
quelle
0

Ich stoße auch auf dieses Problem. Meine Umgebung ist Ubuntu 15.04, Python 2.7.9 und Boto 2.38.0.

Wenn das Argument validate_certs = False gesetzt wird, funktioniert es nicht mit der HTTPS-Verbindung ohne gültiges Zertifikat. Nachdem ich den Code von Boto gelesen hatte, stellte ich fest, dass es ein Verhalten von Pythons ssl-Modulen ist. Dann habe ich hier eine Lösung gefunden: "SSL: CERTIFICATE_VERIFY_FAILED" Fehler . Und die Lösung funktioniert !!!.

    
diabloneo 18.09.2015 05:12
quelle
0
  

macOS-Benutzer: Wenn Sie Python 3.6 von python.org verwenden   binary installer auf dieser Seite verlinkt, lesen Sie bitte sorgfältig die   Wichtige Informationen während der Installation angezeigt; diese Information   steht auch nach der Installation zur Verfügung, indem Sie auf klicken   / Anwendungen / Python 3.6 / ReadMe.rtf. Es gibt wichtige Informationen   dort über Änderungen in der Python 3.6.0 Installer geliefert,   insbesondere im Hinblick auf die Validierung von SSL-Zertifikaten.

Ссылка

Aus ReadMe.rtf zum Zeitpunkt des Schreibens:

  

Zertifikatsüberprüfung und OpenSSL

     

NEU Diese Variante von Python 3.6 enthält jetzt eine eigene private Kopie von OpenSSL 1.0.2. Im Gegensatz zu früheren Versionen ist dies veraltet   Von Apple bereitgestellte OpenSSL-Bibliotheken werden nicht mehr verwendet. Das bedeutet auch   dass die Trust-Zertifikate in System- und Benutzerschlüsseln von verwaltet werden   die Keychain Access-Anwendung und das Sicherheitsbefehlszeilen-Dienstprogramm   werden vom Python-SSL-Modul nicht mehr als Standard verwendet. Für 3.6.0, a   Beispielskript ist in / Applications / Python 3.6 to enthalten   Installieren Sie ein kuratiertes Paket von Standardstammzertifikaten von der   Zertifikatspaket von Drittanbietern ( Ссылка ).   Wenn Sie sich dafür entscheiden, certifi zu verwenden, sollten Sie in Erwägung ziehen, das Abonnement zu abonnieren   Der E-Mail-Aktualisierungsdienst des Projekts wird benachrichtigt, wenn das Zertifikat vorliegt   Bündel wird aktualisiert.

     

Der im Python 3.6-Installationsprogramm enthaltene gebündelte Pip hat seine eigene   Standard-Zertifikatspeicher zum Überprüfen der Download-Verbindungen.

    
steamer25 03.03.2017 16:01
quelle