跳转到主要内容

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的辅助程序,可以节省大量的样板代码。

项目信息

致谢

pemHynek 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 查看散列值)

上传时间 Python 3

支持