繁体   English   中英

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

[英]What's the right way for a Python/Twisted program to validate an SSL certificate under Windows?

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

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

我对这种超级便携的方式感兴趣,但我从未尝试过。 以下是一些入门链接: SecureTransport参考Microsoft Cryptography Functions

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM