Python S/MIME 工具包
项目描述
Python S/MIME 工具包
这个库实现了一个 S/MIME 处理程序。它仅支持在 AES128-CBC、AES192-CBC 或 AES256-CBC 模式下使用公共 RSA 密钥对 S/MIME 消息进行加密。
ASN.1 实现不依赖于 pyasn1,因为它对于创建和读取 CMS(加密消息语法)来说太糟糕了。相反, 在这个项目中使用了asn1crypto 。
此实现不再使用已弃用的pycrypto;相反,它被切换到更现代的密码库。它不再是“纯 python”(因为后者的依赖),但至少可以工作。
要求
Python 2.7 或 Python 3.5+
密码学
asn1crypto
例子
下面的代码以 PEM 格式加载 Alice 的公钥,并使用它来加密 S/MIME 格式的电子邮件:
import sys
import smime
message = [
'To: "Alice" <alice@foo.com>',
'From: "Bob" <bob@bar.com>',
'Subject: A message from python',
'',
'Now you see me.'
]
with open('alice-public-key.pem', 'rb') as pem:
print(smime.encrypt('\n'.join(message), pem.read()))
输出:
To: "Alice" <alice@foo.com> From: "Bob" <bob@bar.com> Subject: A message from python MIME-Version: 1.0 Content-Type: application/pkcs7-mime; smime-type=enveloped-data; name=smime.p7m Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename=smime.p7m <base64-enveloped-data>
可以从命令行使用 OpenSSL 解密相同的内容:
$ openssl smime -decrypt -in smime.p7m -inkey alice-private-key.pem
OpenSSL 期望上面的smime.p7m文件应该是 DER 或 PEM 格式。后者应该包含在--BEGIN PKCS7--和--END PKCS7--中,并且内容应该是base64编码,就像上面命令的输出一样。例子:
-----BEGIN PKCS7----- MIIBdgYJKoZIhvcNAQcDoIIBZzCCAWMCAQAxgb4wgbsCAQAwJjASMRAwDgYDVQQD EwdDYXJsUlNBAhBGNGvHgABWvBHTbi7EELOwMAsGCSqGSIb3DQEBAQSBgCVAQwNg LmJ5ESYxOM1YbOLz2gvzWY1Fk+LZZiylYe7+o1/e/MjtzNwhnu+8vziFwHbXEH1Y jndIbUxiLyXb3omtNDunRICQin5bdo6BI7oE0MufUSqMjk0YUk8UQeNCiUfK89PR RfDclb1/sM3XZ7mUJa2OzpnuQIWec3MuJ3k4MIGcBgkqhkiG9w0BBwEwHQYJYIZI AWUDBAEqBBCVZVOt2lxSzmd+Ti1M372xgHDR0+ToLk1MJeTTtmJdnnNNH6631PN0 i3NJeJBKDDs4onI8xywqFtJP0of6GPoTGV/7D2vkgO2+jhCBTrzjYczbdOhh6Z5X o0i/81NPSoaLhrfwKMQvT7sXX7c9YdbTjyglyGqhXUN8h+mIRlP9IStD -----END PKCS7-----
请记住,上述格式仅用于测试 OpenSSL 的加密。请勿在电子邮件中添加此类附件。
执照
该软件根据 Apache 许可证 2.0 获得许可。有关完整的许可证文本,请参阅顶部分发目录中的 LICENSE 文件。
版本控制
该软件遵循语义版本控制
变化
0.1.0b1 (2019-01-06)
初始发行。
项目详情
下载文件
下载适用于您平台的文件。如果您不确定要选择哪个,请了解有关安装包的更多信息。
源分布
smime-py23-0.1.0b1.tar.gz
(93.6 kB
查看哈希)
内置分布
smime_py23-0.1.0b1-py2.py3-none-any.whl
(22.2 kB
查看哈希)
关
smime_py23-0.1.0b1 -py2.py3-none-any.whl 的哈希值
| 算法 | 哈希摘要 | |
|---|---|---|
| SHA256 | 140482a271904dcf2e12439397fb6d737300c2fdac0adf407060a5b5c1fbf5fc |
|
| MD5 | e6f2dc5be2eaa4ff6623f42c813c1a41 |
|
| 布莱克2-256 | a736a5d12a3973bade2e979123557cf072142f054e67c8d9c932e6a8dd7e2455 |