在二进制文件上进行s/mime签名的非常糟糕的工具。可能不安全。

poor-smime-sign的Python项目详细描述


https://img.shields.io/pypi/v/poor-smime-sign.svghttps://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签名,目前缺少任何 为此目的的适当图书馆。

它构建的主要用例是:在工作中,我们的系统必须生成 Apple Passbook Pass文件,包括S/mime 签名。目前它是使用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)

为中的content生成并返回签名字符串 output_format

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

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

为存折清单生成签名的示例:

>>>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(signer_cert_path, content_path, signature_path, signature_format)

根据位于signature_path的签名验证content_path文件。

注意:添加此函数只是为了在测试中提供帮助。

学分

用于呈现此包的工具:

历史记录

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上的第一个版本。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
java如何在Android Wifi中筛选相同的SSID?   Java中重写接口中异常处理的泛型   java“无效转义序列(有效的是\b\t\n\f\r\”\“\”\)”语法错误   使用JNDI的java NameReadyBoundException   java如何在这个程序上执行算法   java为什么我的应用程序在调试时崩溃而应用程序停止?   Java:while循环未检测到中断条件,但如果块检测到   java如何快速使用jfreechart创建的折线图   java将输入放入JSTL会话变量,以便稍后在屏幕上显示   java在spring boot中加载外部JAR   java Apache NiFi无法使用ojdbc6连接到Oracle 12c。jar或ojdbc8。罐子   java解释StringToWordVector()Weka的输出   java charAt()找不到符号   使用mpjexpress的java阅读控制台输入