Abrindo uma conexão de soquete SSL em Python
Estou tentando estabelecer uma conexão de soquete segura em Python e estou tendo dificuldades com o bit SSL. Encontrei alguns exemplos de código de como estabelecer uma conexão com SSL, mas todos eles envolvem arquivos-chave. O servidor com o qual estou tentando me conectar não precisa receber nenhuma chave ou certificado. Minha pergunta é: como envolvo essencialmente uma conexão de soquete python com SSL. Eu sei que a cifra que devo usar éADH-AES256-SHA
e o protocolo éTLSv1
. Isto é o que eu tenho tentado:
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()
Quando executo esse código, não recebo erros, mas recebo uma resposta em branco. Ao tentar depurar esse código na linha de comando, digitandopython
no terminal e colando no código linha por linha, recebo o que estou assumindo como um código de status ao executarsock.send(packet)
. A resposta inteira que recebo é26
. Se alguém souber o que isso significa, ou puder ajudar de qualquer maneira, seria muito apreciado. Desde já, obrigado!