Python 套接字客户端 SSL 连接

标签 python sockets ssl tls1.2

我已经实现了以下连接到远程服务器:

s = socket.socket(socket.AF_INET, socket.SOCK_STREAM)
s.settimeout(10)
context = SSLContext(ssl.PROTOCOL_TLSv1_2)
context.verify_mode = ssl.CERT_NONE
sslSocket = context.wrap_socket(s, server_hostname=hostname)
sslSocket.connect((hostname, port))
我收到一个错误:
[SSL: WRONG_SSL_VERSION] wrong ssl version (_ssl.c:2820)
当我通过命令行通过 openssl 连接时,这是我从服务器得到的响应:
New, TLSv1/SSLv3, Cipher is ECDHE-RSA-AES128-GCM-SHA256
Server public key is 2048 bit
Secure Renegotiation IS supported
Compression: NONE
Expansion: NONE
No ALPN negotiated
SSL-Session:
    Protocol  : TLSv1.2
    Cipher    : ECDHE-RSA-AES128-GCM-SHA256
我在调用 SSL 版本时缺少什么?

最佳答案

您必须在线更改协议(protocol)版本:
'ssl.PROTOCOL_TLSv1_2'
到另一个如:ssl.PROTOCOL_SSLV3
我不确定语法。在文档中搜索它。
这个:
PROTOCOL_SSLv23

关于Python 套接字客户端 SSL 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69909044/

相关文章:

Python:迭代具有不同维数的列表,有通用的方法吗?

c - C 中的 Winsock 文件传输

C#如何制作一个简单的UDP服务器

java - (Tomcat) Java WAR 通过 SSL 连接到 MySQL

ssl - 使用 SSL-Ext 和 Struts 1.2.9 在 HTTP 和 HTTPS 之间切换

python - 无法使用 Glade 在回调中传递用户数据

python /皮赛德 : Create Image Histogram

python - UML 聚合可以是双向的吗?

连接到 IRC

ssl - nginx - client_max_body_size 对配置的 ssl 没有影响