客户端是否可以使用已经通过其他方式交换的服务器证书与服务器建立SSL连接?
重点是使用客户端已经有的证书加密连接,而不必依赖服务器提供。服务器仍将拥有客户端使用的证书的私钥。
这个问题不特定于语言,但是希望得到关于Python和Twisted的具体答案。
客户端是否可以使用已经通过其他方式交换的服务器证书与服务器建立SSL连接?
重点是使用客户端已经有的证书加密连接,而不必依赖服务器提供。服务器仍将拥有客户端使用的证书的私钥。
这个问题不特定于语言,但是希望得到关于Python和Twisted的具体答案。
然而,这样做可能会导致困难。就像传统SSL/TLS连接中的服务器无法检测请求是否经过MITM一样(只有客户端负责检查服务器证书,没有客户端证书认证),使TCP客户端成为SSL/TLS服务器会使TCP客户端很难知道它正在与其预期的TCP服务器通信:实际上,服务器可能是一个MITM。您需要考虑是否适合您的需求。client The application entity that initiates a TLS connection to a server. This may or may not imply that the client initiated the underlying transport connection. The primary operational difference between the server and client is that the server is generally authenticated, while the client is only optionally authenticated.
ssl.wrap_socket
的server_side
参数选择SSL/TLS套接字的方向。
这根本没有意义。私钥应由发出证书的一方保密。服务器仍将拥有客户端使用的证书的私钥。
ca_certs=
。 - Bruno