【发布时间】:2019-07-07 17:43:17
【问题描述】:
如何/如何使用 python 和cryptography 模块生成 PKCS#12 文件?
使用该模块为私钥生成 .pem 文件的内容非常简单:
keyPEMBytes = privateKey.private_bytes(
encoding=serialization.Encoding.PEM,
format=serialization.PrivateFormat.TraditionalOpenSSL,
encryption_algorithm=serialization.NoEncryption())
也很容易为相关证书生成 .cer/.pem 文件的内容:
certBytes = certificate.public_bytes(encoding=serialization.Encoding.PEM)
但我需要将它们(和它们的链)打包在一个 .p12(PKCS12 文件)上。所述模块文档how to parse/consume PKCS12 formats,但没有(我能找到)关于如何生成它们的信息。
我对 PKI 东西的理解是偶然的,所以也许我只是没有在文档中搜索正确的关键字?
我可以在 Linux 上使用命令行创建 .p12 文件
openssl pkcs12 -export -out myIdentity.p12 -inkey myPrivKey.pem -in myCert.crt -certfile myCertChain.crt
所以我可以用 subprocess/cmd 来包装这样的调用,并弄乱临时文件/管道。我希望把它全部保存在内存/python中。
我应该考虑一个不同的 python TLS 库,可以做到这一点吗?
【问题讨论】:
标签: python python-3.x pkcs#12 python-cryptography