Python中的PEM文件解析。
项目描述
pem: Python的PEM文件解析
pem是一个Python模块,用于解析和分割PEM文件,即Base64编码的DER密钥和证书。
它没有依赖项,也不会以任何方式尝试解释证书数据。
它是从从各种证书部署中加载密钥、证书、信任链和Diffie-Hellman参数的需求中产生的:一些服务器(如Apache)期望它们是单独的文件,其他(如nginx)期望它们附加到服务器证书,最后一些(如HAProxy)期望密钥、证书和链在一个文件中。使用pem,您的Python应用程序可以处理所有这些场景
>>> import pem
>>> certs = pem.parse_file("chain.pem")
>>> certs
[<Certificate(PEM string with SHA-1 digest '...')>, <Certificate(PEM string with SHA-1 digest '...')>]
>>> str(certs[0])
'-----BEGIN CERTIFICATE-----\n...'
除了原始解析代码外,pem还包含Twisted的辅助程序,可以节省大量的样板代码。
项目信息
致谢
pem 由 Hynek Schlawack 编写和维护。
开发得到了我的雇主 Variomedia AG 和所有令人惊叹的 GitHub Sponsors 的支持。
pem 企业版
作为 Tidelift 订阅的一部分提供。
pem 的维护者以及成千上万的其他包维护者正与 Tidelift 合作,为您提供用于构建应用程序的开源包的商业支持和维护。节省时间,降低风险,提高代码健康度,同时为使用的确切包支付维护者费用。 了解更多。
发布信息
移除
- 已停止支持 Python 2.7、3.5 和 3.6。
添加
- 支持 RFC 4880 OpenPGP 私钥和公钥:`pem.OpenPGPPublicKey` 和 `pem.OpenPGPPrivateKey`。 #72
- 使用 `meta_headers` 属性支持像 OpenPGP 密钥中使用的内负载头。 #75
- `pem.parse_file()` 现在也接受
pathlib.Path
对象。 - `pem.parse()` 现在也接受
str
。 - 为所有 PEM 对象添加了 `text_payload`、`bytes_payload` 和 `decoded_payload` 属性,允许直接访问负载而无需封包和可能的头信息。 #74
项目详情
下载文件
下载您平台的文件。如果您不确定要选择哪个,请了解更多关于 安装包 的信息。
源代码分发
pem-23.1.0.tar.gz (43.8 kB 查看散列值)
构建分发
pem-23.1.0-py3-none-any.whl (9.2 kB 查看散列值)