python - 带有python的ssl客户端服务器

标签 python sockets ssl

我正在尝试在客户端和服务器套接字之间创建 ssl 连接。 这是我的代码: 客户:

    temp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
    client = ssl.wrap_socket(temp_socket,ssl_version=ssl.PROTOCOL_TLSv1_2, c 
     =ciphers="AES256-GCM-SHA384")
    #print client.ciphers
    client.connect((server_address, int(port)))

服务器:

temp_socket = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
server_socket = ssl.wrap_socket(temp_socket, ssl_version=ssl.PROTOCOL_TLSv1, 
ciphers="ADH-AES256-SHA256")
server_socket.bind(("0.0.0.0", port))
server_socket.listen(1)
(client_socket, client_address) = server_socket.accept()

我得到错误: [SSL: SSLV3_ALERT_HANDSHAKE_FAILURE] 客户端 sslv3 警报握手失败 (_ssl.c:661) 和 [SSL: NO_SHARED_CIPHER] 没有共享密码 (_ssl.c:590) 我认为问题可能是我没有将 key 文件提供给套接字,但我看到 RSA key 不存在该选项。 知道错误可能是什么吗?

最佳答案

您没有获得服务器的证书和匹配的 key 文件,但您选择的密码使用 RSA 身份验证,因此需要证书和 key 。请参阅 the documentation 中的参数 certfilekeyfile .

关于python - 带有python的ssl客户端服务器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44625720/

相关文章:

c++ - 套接字编程主机

c# - 如何在使用 SHA-2 而不是 SHA-1 之间切换?

python multiprocessing.Process.Manager 没有产生一致的结果?

python - 将函数的输出分配给python中的空列表常量

python - Numpy 在多个数组上广播

java - 为什么 SSLSocket 写入选项没有超时?

Windows 7 上的 Python Jedi 漫游文件夹

C#:图表:从收到的 UDP 数据包中放入数据的最快方法

ssl - 尝试通过 SSH 连接到 Google Cloud Shell 时出现权限被拒绝(公钥)错误

android - 为 android mips 编译 libcurl