Python / Twisted程序在Windows下验证SSL证书的正确方法是什么?

时间:2010-11-10 13:49:17

标签: python windows ssl twisted

Python / Twisted程序是否有办法干净地利用Internet Explorer用于验证与HTTPS服务器的SSL连接的根证书列表?提供给Validate SSL certificates with Python的答案非常有用,但示例代码通过读取Unix特定目录/etc/ssl/certs/*.pem来获取根证书,而且我不清楚Windows的等价物是什么

1 个答案:

答案 0 :(得分:3)

Windows等效项是“从Linux机器上复制/etc/ssl/certs/*.pem”。 Mac和Windows具有不同的本机API,用于获取各自的证书存储,Twisted不直接支持。它们本身不使用OpenSSL证书,并且它们当然不会像“PEM文件目录”那样直接放置布局。如果您可以将您的信任根导出为PEM,那么您可以询问Twisted(嗯,真的,OpenSSL通过PyOpenSSL)来验证它。

我对这种超级便携的方式感兴趣,但我从未真正尝试过。以下是一些可以帮助您入门的链接:SecureTransport referenceMicrosoft Cryptography Functions

在SecureTransport参考中,文档指出SSLGetTrustedRoots已弃用,但未提及替代SSLCopyTrustedRoots。这可能是你想在Mac上开始的API(通过PyObjC)。在Windows上,我真的不确定,除了那些函数中的某个地方可能有一个你想要的东西,也许你可以用ctypes调用它:)。