我正在开发一个Python3应用程序的客户端和服务器端。它们必须使用自签名证书通过TLS进行通信。
应该始终建立连接,即使双方从未见过对方,因此在其信任存储中都没有对方的证书。自定义方法握手后进行验证。
但是,Python的ssl library尝试在握手期间验证证书,如果传入的证书未知且没有有效的证书链,则此操作将失败。也不能将verify_mode
设置为CERT_NONE
,因为我的自定义验证方法确实需要来自两端的证书。
因此,我的问题是:如何在握手期间关闭自动验证的情况下,从另一端请求证书?或者我可以传递一个自定义的verifyer-method来调用?
谢谢!
发布于 2018-07-14 07:14:44
您可以使用ssl.get_server_certificate((host,port))
。它将以PEM格式返回证书。
https://stackoverflow.com/questions/37696927
复制相似问题