Wie kann ich python httplib akzeptieren nicht vertrauenswürdige Zertifikate?

8

Wie habe ich Python httplib akzeptieren nicht vertrauenswürdige Zertifikate? Ich habe ein Snake Oil / selbstsigniertes Zertifikat auf meinem Webserver erstellt, und mein Python-Client kann keine Verbindung herstellen, da ich ein nicht vertrauenswürdiges Zertifikat verwende.

Ich würde das Problem lieber in meinem Client-Code beheben, anstatt es auf meinem System zu vertrauen.

%Vor%     
MichaelICE 15.03.2011, 23:51
quelle

3 Antworten

1

Nach Ссылка

  

Warnung: Dies überprüft das Zertifikat des Servers nicht.

Sie können also die Zertifikatsverifizierung nicht deaktivieren, da diese Funktion nicht enthalten ist; -)

Beachten Sie auch, dass die Argumente auf derselben Seite falsch sind:

  

Ссылка

Also benutze httplib.HTTPSConnection('127.0.0.1', 443)

    
Carpetsmoker 15.03.2011, 23:56
quelle
28

Einige meiner Skripts haben nach der Aktualisierung meines Computers nicht mehr funktioniert. Stellt sich heraus, das war das Problem: Ссылка

  

Geändert in Version 2.7.9: Kontext wurde hinzugefügt.

     

Diese Klasse führt jetzt standardmäßig alle erforderlichen Prüfungen des Zertifikats und Hostnamens durch. Um zum vorherigen, nicht verifizierten Verhalten zurückzukehren, kann ssl._create_unverified_context () an den Kontextparameter übergeben werden.

Wenn also Ihre Version von Python & gt; = 2.7.9 ist (2.7.10 in meinem Fall), werden Sie wahrscheinlich darauf stoßen. Um es zu beheben, habe ich meinen Anruf aktualisiert:

%Vor%

Dies ist wahrscheinlich die einfachste Änderung, um das gleiche Verhalten beizubehalten.

    
aeggum 24.08.2015 18:38
quelle
2

Beim Überprüfen des Python 2.7.14-Quellcodes können Sie eine Umgebungsvariable festlegen

%Vor%

Dies führt dazu, dass die Zertifikatsüberprüfung standardmäßig deaktiviert wird (dies gilt für alle Anfragen von Ihrem Programm).

Ich glaube, das funktioniert ab 2.7.12+ - aber nicht für 3.x.

Ref. PEP 493: Überprüfen Sie HTTPS standardmäßig, aber erlauben Sie es, dass envvar dies überschreibt https://www.python.org/dev/peps/pep-0493/#feature-environment-based-configuration

    
Ed Randall 17.11.2017 08:49
quelle

Tags und Links