do_handshake的意义是什么

时间:2018-07-13 03:00:52

标签: python sockets ssl network-programming tls1.2

我需要创建一个执行TLS握手的TLS客户端。我使用context.wrap_socket,该参数接受一个do_handshake_on_connectTrue的参数False。但是,我一直在进行握手,而没有将此变量设置为True(我根本不通过它)。然后我得到了握手结果,例如服务器选择的TLS密码套件和版本。

我想念什么吗?如果do_handshake_on_connect在我执行时隐式完成,那有什么意义呢? 我不明白这一点,我怕我错过了一些东西。

ssl_sock.connect

1 个答案:

答案 0 :(得分:1)

  

如果do_handshake_on_connect在执行时隐式完成,那有什么意义:ssl_sock.connect

该点清楚地显示在the official documantion中。引用:

  

参数do_handshake_on_connect指定在执行socket.connect()之后是自动进行SSL握手,还是通过调用SSLSocket.do_handshake()方法来使应用程序显式调用它。 调用SSLSocket.do_handshake()可以使程序完全控制握手中涉及的套接字I / O的阻塞行为