Ich versuche, eine sichere Socket-Verbindung in Python herzustellen, und ich habe eine harte Zeit mit dem SSL-Bit davon. Ich habe einige Codebeispiele gefunden, wie man eine Verbindung mit SSL herstellt, aber alle beinhalten Schlüsseldateien. Der Server, mit dem ich mich verbinden möchte, benötigt keine Schlüssel oder Zertifikate. Meine Frage ist, wie ich im Wesentlichen eine Python-Socket-Verbindung mit SSL umschlinge. Ich weiß für eine Tatsache, dass die Verschlüsselung, die ich verwenden soll, ist ADH-AES256-SHA
, und das Protokoll ist TLSv1
. Dies ist, was ich habe versucht worden:Öffnen einer SSL-Socket-Verbindung in Python
import socket
import ssl
# SET VARIABLES
packet, reply = "<packet>SOME_DATA</packet>", ""
HOST, PORT = 'XX.XX.XX.XX', 4434
# CREATE SOCKET
sock = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
sock.settimeout(10)
# WRAP SOCKET ???
ssl.wrap_socket(sock, ssl_version="TLSv1", ciphers="ADH-AES256-SHA")
# CONNECT AND PRINT REPLY
sock.connect((HOST, PORT))
sock.send(packet)
print sock.recv(1280)
# CLOSE SOCKET CONNECTION
sock.close()
Wenn ich diesen Code ausführen, ich habe keine Fehler, aber ich erhalte eine leere Antwort. Wenn ich versuche, diesen Code in der Befehlszeile zu debuggen, indem ich python
in das Terminal eintippe und Code Zeile für Zeile einfüge, bekomme ich, was ich annahm, ist ein Statuscode, wenn er sock.send(packet)
läuft. Die Ganzzahlantwort, die ich bekomme, ist 26
. Wenn jemand weiß, was das bedeutet, oder in irgendeiner Weise helfen kann, würde es sehr geschätzt werden. Danke im Voraus!
Ich habe diesen Fehler: 'ssl.SSLError: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] sslv3 Alarm Handshake Fehler ' keine Idee? – Kostanos
Schwer zu sagen, nur von der Ausgabe. Haben Sie das obige Code-Snippet verwendet? Wenn nicht, würde ich eine neue Frage öffnen und den verwendeten Code posten :) – Raffi
[SSL: WRONG_VERSION_NUMBER] falsche Versionsnummer (_ssl.c: 590). Über GNU/Linux (Ubuntu 16.04) –