如何使python与OS trusted store协同工作

2024-10-08 18:26:18 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在开发一个pyinstaller封装的python CLI,它应该可以在不同的平台(macOS、Windows和RHEL)上工作

CLI需要验证由用户RootCA签署的服务器证书,当然,该证书安装在系统信任存储上

在短时间内没有更新的程序中使用certifica捆绑包时存在高安全风险。如果来自{{CD1}} CAA束的可信CAS之一被破坏,那么我们正面临着处于中间威胁的人类。从公司信任存储中删除受损CA的系统管理员不知道我们的程序一直在使用受损CA

这就是我想使用系统信任存储的原因

我可以修改certifica_bundle文件(通过使用certifi.where()获取)并在那里添加ca-pem文件。但是用户RootCa(签署它的服务器证书)可以偶尔更改一次,所以不会有多大帮助

我可以将包含用户ca的ca束的路径传递给requests.get()方法或PyOpenssl.sslContext load_verify_locations()方法。但这并不能满足我的需要,因为我希望证书验证将针对用户系统信任存储,而用户不需要管理自己的ca_捆绑包

经过一个非常艰苦和令人筋疲力尽的研究,我在网上找不到任何东西。 我能想到的唯一想法是实现每个操作系统验证方法,并将其封装在我自己的模块中。但我觉得像这样基本的东西应该已经有人实施了。 有什么想法吗


Tags: 文件方法用户程序服务器cli系统macos

热门问题