Python p12 到 pem
Posted
技术标签:
【中文标题】Python p12 到 pem【英文标题】:Python p12 to pem 【发布时间】:2014-06-26 10:11:01 【问题描述】:我正在尝试了解 openssl 和证书以及 Python。
所以我有这个 .cert.p12 文件。我想将其转换为 .pem 格式。
我用
openssl -in input.cert.p12 -out output.pem -nodes
这将创建 pem 文件。
我将如何在 Python 中执行相同的过程?获取 p12 文件并将其转换为 pem 格式?
【问题讨论】:
我使用从 Python 调用的命令行完成了类似的任务。我大部分时间都花在学习如何使用命令行上,你已经完成了,所以要么从 Python 调用它(使用subprocess.call
或类似的东西),要么按照“ele”的建议使用pyOpenSSL
。
我也在使用类似 os.system() 的东西来创建 pem。但是我每次运行命令,我都必须输入密码。
最好使用subprocess.call
和类似的。 os.system
已弃用。有关如何替换它的说明,请参阅 docs.python.org/2/library/… 对于密码短语 - 检查 OpenSSL 选项,您也可以通过命令行提供这些值。
Need help converting p12 certificate into PEM using OpenSSL的可能重复
【参考方案1】:
尝试使用 OpenSSL for Python 库,例如“pyOpenSSL”
https://pyopenssl.org/en/stable/api/crypto.html#pkcs12-objects
from OpenSSL import crypto
p12 = crypto.load_pkcs12(file("push.p12", 'rb').read(), [password])
# PEM formatted private key
print crypto.dump_privatekey(crypto.FILETYPE_PEM, p12.get_privatekey())
# PEM formatted certificate
print crypto.dump_certificate(crypto.FILETYPE_PEM, p12.get_certificate())
来自here。
【讨论】:
以上是关于Python p12 到 pem的主要内容,如果未能解决你的问题,请参考以下文章