Kann ich TLS Version 1.1 oder 1.2 in Python 2 verwenden?

8

Ich habe ein Dokument gelesen, das besagt, dass Python 2 nur ssl.PROTOCOL_TLSv1 constant hat und dass ssl.PROTOCOL_TLSv1_1 und ssl.PROTOCOL_TLSv1_2 in Python 3.4 hinzugefügt wurden. Wie kann ich TLS 1.1 und 1.2 in Python 2 verwenden?

PS. Ich möchte TLS 1.0 nicht verwenden, da es einige Sicherheitslücken aufweist. TLS 1.2 ist jetzt die neueste Version, daher möchte ich, dass mein Programm nur TLS 1.2 verwendet. Wenn der Server TLS 1.2 nicht unterstützt, führen Sie die Verbindung einfach fehl.

    
Tian 04.09.2013, 06:15
quelle

3 Antworten

11

Mit meiner Entschuldigung für die Wiederherstellung einer alten Frage scheint es, dass TLS1.1 und TLS1 unterstützt wird .2 wird für Python 2.7.9 eingeführt, das für die Veröffentlichung um Dezember vorgesehen ist 2014 .

    
alkalinity 17.09.2014 21:46
quelle
2

Ich musste vor kurzem eine TLSv1.2-Verbindung mit gegenseitig authentifiziertem SSL beenden, und das war nicht auf dem Stand 2.7.8. Ich wollte gerade beginnen, meine Netzwerk-I / O-intensive Anwendung schmerzhaft nach Python 3 zu portieren, wobei ich jede Zeichenfolge in Bytes und zurück für recv / send änderte. Es würde saugen.

Dann habe ich PEP466 gefunden. Sie können den Patch leicht von PEP466 (Google it) auf 2.7.7 oder 2.7.8 anwenden, um TLS 1.1 und TLS 1.2 zum Laufen zu bringen.

Der Patch für PEP 466 ist @ Ссылка

Außerdem benötigen Sie den folgenden Patch, um einen mit Unicode verbundenen Fehler zu beheben, der beim Erstellen von Fehlern im SSL-Code zu einem Segmentfehler führt:

Dieser Patch ist @ Ссылка

Nachdem Sie den Patch angewendet haben, sollten Sie vor dem Konfigurieren und Kompilieren außerdem Folgendes tun:

%Vor%

Sie können dann & amp; & amp; machen & amp; & amp; make install und sollte gut mit TLSv1.1 und TLSv1.2 gehen.

%Vor%

TLS 1.2 funktioniert jetzt gut für mich, also muss ich keine gigantische App nach Python 3 portieren.

Wie auch immer, der Wortlaut auf der PEP-Seite ist verwirrend, es klingt wie 2.7.9 im Dezember soll diese Unterstützung enthalten haben (?), aber ich bin mir nicht sicher, ob das akkumuliert ist oder ob es nur ein manuelle Problemumgehung, bis Sie Ihren Code zu Python 3 portieren. Ich nehme an, es ist nicht wirklich wichtig.

    
adam 11.10.2014 01:20
quelle
1

Nein, es ist keine Unterstützung für TLS 1.1 oder 1.2 in Python 2 geplant, siehe:

Ссылка

Es besagt klar, dass TLS & gt; 1.0 wird nicht nach Python 2.7 zurückportiert, und Python Maintainer haben mehrmals angegeben, dass Python 2.8 nicht passieren wird.

Bitte beachten Sie, dass momentan nur wenige Server TLS 1.2 unterstützen. Hoffentlich wird sich das in Zukunft ändern.

    
Remi Gacogne 04.09.2013 08:30
quelle

Tags und Links