跳转到主要内容

一个用于在二进制文件上执行S/MIME签名的非常糟糕的工具。可能不安全。

项目描述

https://img.shields.io/pypi/v/poor-smime-sign.svg https://img.shields.io/travis/seporaitis/poor-smime-sign.svg

一个用于生成任意内容的S/MIME签名的非常糟糕的工具,可能也不太安全。

快速示例

>>> smime_sign(
...     signer_cert_path="/path/to/files/signer.cert",
...     signer_key_path="/path/to/files/signer.pem",
...     recipient_cert_path="/path/to/files/recipient.cert",
...     content="test",
...     output_format="PEM",
... )

特性

  • 执行S/MIME签名。

  • 验证S/MIME签名。

为什么?

这个实用库只有一个目的 - 在Python2 3上提供对生成S/MIME签名的支持,目前还没有为这个目的提供任何合适的库。

它构建的主要用例:在我们的工作中,我们的系统必须生成包含S/MIME签名的Apple Passbook Pass文件。目前它使用的是M2Crypto.SMIME。虽然这行得通 - 我们希望迁移到Python3,不幸的是,M2Crypto并没有完全得到支持。smime_sign是解决这个问题的简陋方案。

在内部,这仅仅调用了openssl smime,所以您可能还想看看它的文档。

为什么不?

  • 这可能不安全。

  • 如果您在签名大量文本时,这可能会很慢。

API

smime_sign(signer_cert_path, signer_key_path, cert_path, recipient_cert_path, content, output_format)

生成并返回以output_format格式为content的签名字符串。

所有*_path参数必须是绝对路径。

content必须是一个字符串,而不是一个路径。

生成Passbook清单签名的示例

>>> manifest_json = "..."  # JSON string with `manifest.json` content
>>> signature = smime_sign(
...     signer_cert_path="/path/to/files/signer.cert",
...     signer_key_path="/path/to/files/signer.pem",
...     cert_path="/path/to/files/intermediate.cert",
...     recipient_cert_path=None,
...     content=manifest_json,
...     output_format="DER",
... )

smime_verify(签署者证书路径, 内容路径, 签名路径, 签名格式)

验证 内容路径 文件是否与位于 签名路径 的签名匹配。

注意:此函数仅添加以帮助测试。

致谢

渲染此包所使用的工具

历史

2.0.3 (2016-09-13)

  • 将许可证从 AGPLv3 更改为 MIT

2.0.2 (2016-01-07)

  • 修复 PyPI 上的文档渲染问题

2.0.1 (2016-01-07)

  • 添加了传递中间证书的支持。

  • 接收者证书现在是可选的。

  • 由于 smime_sign 的参数结构已更改,因此进行了主要版本号的升级。

1.0.0 (2015-11-27)

  • 首次发布到 PyPI。

项目详情


下载文件

下载适用于您的平台的文件。如果您不确定选择哪个,请了解更多关于 安装包 的信息。

源代码发行版

poor-smime-sign-2.0.3.tar.gz (13.0 kB 查看散列值)

上传时间 源代码

构建发行版

poor_smime_sign-2.0.3-py2.py3-none-any.whl (6.6 kB 查看散列值)

上传时间 Python 2 Python 3

支持者

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF 赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误记录 StatusPage StatusPage 状态页面