Python / Twisted程序是否有办法干净地利用Internet Explorer用于验证与HTTPS服务器的SSL连接的根证书列表?提供给Validate SSL certificates with Python的答案非常有用,但示例代码通过读取Unix特定目录/etc/ssl/certs/*.pem来获取根证书,而且我不清楚Windows的等价物是什么
答案 0 :(得分:3)
Windows等效项是“从Linux机器上复制/etc/ssl/certs/*.pem”。 Mac和Windows具有不同的本机API,用于获取各自的证书存储,Twisted不直接支持。它们本身不使用OpenSSL
证书,并且它们当然不会像“PEM文件目录”那样直接放置布局。如果您可以将您的信任根导出为PEM,那么您可以询问Twisted(嗯,真的,OpenSSL
通过PyOpenSSL
)来验证它。
我对这种超级便携的方式感兴趣,但我从未真正尝试过。以下是一些可以帮助您入门的链接:SecureTransport reference,Microsoft Cryptography Functions。
在SecureTransport参考中,文档指出SSLGetTrustedRoots
已弃用,但未提及替代SSLCopyTrustedRoots
。这可能是你想在Mac上开始的API(通过PyObjC)。在Windows上,我真的不确定,除了那些函数中的某个地方可能有一个你想要的东西,也许你可以用ctypes调用它:)。