如何/如何使用 python 和密码模块生成 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 文件)上。所述模块记录了如何解析/使用 PKCS12 格式,但没有(我能找到)关于如何生成它们的信息。
我对 PKI 东西的理解是偶然的,所以也许我只是没有在文档中搜索正确的关键字?
我可以使用在 Linux 上的命令行创建 .p12 文件
openssl pkcs12 -export -out myIdentity.p12 -inkey myPrivKey.pem -in myCert.crt -certfile myCertChain.crt
所以我可以用 subprocess/cmd 包装这样的调用,并弄乱临时文件/管道。我希望将它全部保存在内存/python中。
我应该考虑一个不同的python TLS库,可以做到这一点吗?