Открытие соединения через сокет SSL в Python
Я пытаюсь установить безопасное соединение с сокетом в Python, и у меня возникают трудности с SSL-битом. Я нашел несколько примеров кода о том, как установить соединение с SSL, но все они включают файлы ключей. Сервер, к которому я пытаюсь подключиться, не должен получать ключи или сертификаты. Мой вопрос заключается в том, как я могу обернуть соединение сокета Python с SSL Я точно знаю, что шифр, который я предполагаю использовать,ADH-AES256-SHA
и протоколTLSv1
, Это то, что я пытался:
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()
Когда я запускаю этот код, я не получаю никаких ошибок, но я получаю пустой ответ. При попытке отладки этого кода в командной строке, набравpython
в терминале и вставляя в код построчно, я получаю то, что я предполагаю, это код состояния при запускеsock.send(packet)
, Целочисленный ответ, который я получаю,26
, Если кто-нибудь знает, что это значит, или может помочь в любом случае, это будет очень цениться. Заранее спасибо!