Python SSL / TLS服务器:明文握手后的TCP到SSL / TLS

时间:2016-05-18 07:51:08

标签: python ssl openssl

我有python客户端服务器,它按预期运行。

ssl_sock = ssl.wrap_socket(s,ssl_version=ssl.PROTOCOL_TLSv1_1, cert_reqs=ssl.CERT_NONE,server_side=True,certfile="cert.pem",keyfile="key.pem")

我有特定要求,其中客户端和服务器通过TCP发送纯文本消息来执行握手。当客户端从服务器收到特定字符串时,客户端应通过发送clientHello()来启动SSL握手,并且应将套接字更改为SSL。

Client                        Server

 +                            +
 |                            |
 |           Hello            |
 +---------------------------->
 |                            |
 |                            |
 |            2001 OK         |
 <----------------------------+
 |                            |
 |            ClienHello      |
 +---------------------------->
 |                            |
 |            ServerHello     |
 <----------------------------+
 |                            |
 |                            |
 |                            |
 +                            +

我想知道是否有任何函数可以从客户端检测传入的ClientHello()。下面是我从Wireshark获得的SSL标头值列表,用于不同的SSL / TLS版本。

 SSL 3.0 0x0300 
 TLS 1.0 0x0301 
 TLS 1.1 0x0302 
 TLS 1.2 0x0303

我正在寻找使用任何python ssl / tls包编写的示例服务器代码。

非常感谢任何帮助。

0 个答案:

没有答案