【发布时间】:2015-01-07 04:24:41
【问题描述】:
我正在尝试在 Python 中建立一个安全的套接字连接,但我很难使用它的 SSL 位。我找到了一些如何与 SSL 建立连接的代码示例,但它们都涉及密钥文件。我尝试连接的服务器不需要接收任何密钥或证书。我的问题是我如何基本上用 SSL 包装 python 套接字连接。我知道我想使用的密码是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。如果有人知道这意味着什么,或者无论如何可以提供帮助,将不胜感激。提前致谢!
【问题讨论】: