python - 在 Windows 上运行时,如何为 Twisted 提供“server.pem”?
问题描述
我想创建一个基于 Twisted 的服务器来监听 TLS 流量。生成的服务器必须在 Windows 2016 上运行。Python 版本为 3.7。
我从 Twisted doco https://twistedmatrix.com/documents/current/core/howto/ssl.html#tls-echo-server看到了这个例子。
由于代码在 Windows 上运行,因此证书不是文件,而是隐藏在 Windows 证书存储中 - 因此无法直接使用示例中对“server.pem”的引用。
谁能告诉我如何执行以下操作之一:
- 利用标准库中的ssl.enum_certificates来提供一些与引用“server.pem”的代码行等效的代码
- 从 Windows 证书存储中导出服务器证书,以便我可以创建自己的“server.pem”。
- 其他允许 Twisted 示例代码运行的东西。
我已经阅读/已经完成的事情
我已经阅读了一些关于这个问题的材料。其中大部分内容已有数年历史,并且所有内容都是由对证书知之甚少的人阅读的。
- https://pypi.org/project/wincertstore/的文档。
- https://pypi.org/project/certifi/的文档。
- 这个
treq
问题涉及在 Windows https://github.com/twisted/treq/issues/94中访问证书。 - 这个问题,但提到的文件已有四年历史,并且在 GIT Trac 之前的 repos 中。我可以在 git trac repos 中找到一个名为server.pem的文件,我认为它是同一个文件,但几乎可以肯定不是该问题所指的形式。
解决方案
推荐阅读
- mysql - 多次更新在工作台上不起作用
- c# - C# MongoDB 从填充模型更新定义
- python - subprocess.call() 中使用的 args 列表中元素的含义
- sql-server - 添加不允许我插入具有某些列的成员的约束的问题
- html - ESP8266 Captive Portal 并跳转到“正常”浏览器
- python - 从给定范围内获取“n”个唯一随机数的列表
- laravel - Eloquent 的 First 或 Create 在检查记录是否存在之前不考虑 mutator?
- python - 如果提供的变量的任何组合都没有有效结果,则返回“无”
- android - android oreo 在服务中获取来电号码
- yadcf - 使用 date_custom_func 时 yadcf 清除过滤器仍会导致将最后日期提供给 custom_func