【发布时间】:2011-10-12 17:48:31
【问题描述】:
我需要将.pfx 格式证书(来自 windows mmc)导出到 .p12 以在另一个应用程序中使用。我找不到办法做到这一点。谁能推荐一个方法?
【问题讨论】:
标签: certificate ssl-certificate
我需要将.pfx 格式证书(来自 windows mmc)导出到 .p12 以在另一个应用程序中使用。我找不到办法做到这一点。谁能推荐一个方法?
【问题讨论】:
标签: certificate ssl-certificate
.p12 和 .pfx 都是 PKCS #12 文件。我错过了什么吗?
您是否尝试将导出的 .pfx 文件重命名为具有 .p12 扩展名?
【讨论】:
我在使用 openconnect 的 .pfx 文件时遇到了问题。重命名并没有解决问题。我使用 keytool 将其转换为 .p12 并且有效。
keytool -importkeystore -destkeystore new.p12 -deststoretype pkcs12 -srckeystore original.pfx
在我的情况下,新文件 (new.p12) 的密码必须与 .pfx 文件的密码相同。
【讨论】:
-destkeypass,它就像一个魅力。
如果您正在寻找使用 UI 的快速手动流程。我总是使用 Mozilla Firefox 将 PFX 转换为 P12。首先将证书导入 Firefox 浏览器(选项 > 隐私和安全 > 查看证书... > 导入...)。安装后,通过从证书管理器中选择证书名称执行导出以创建 P12 文件,然后单击备份...并输入文件名,然后输入密码。
【讨论】:
这更像是 jglouie 回应的延续。
如果您使用 openssl 将 PKCS#12 证书转换为公共/私有 PEM 密钥,则无需重命名文件。假设文件名为 cert.pfx,以下三个命令将创建一个公共 pem 密钥和一个加密的私有 pem 密钥:
openssl pkcs12 -in cert.pfx -out cert.pem -nodes -nokeys
openssl pkcs12 -in cert.pfx -out cert_key.pem -nodes -nocerts
openssl rsa -in cert_key.pem -out cert_key.pem -des3
前两个命令可能会提示输入导入密码。这将是随 PKCS#12 文件提供的密码。
第三个命令将让您指定证书的加密密码。这是您在使用证书时将输入的内容。
【讨论】:
运行此命令将.cert文件更改为.p12:
openssl pkcs12 -export -out server.p12 -inkey server.key -in server.crt
其中server.key 是服务器密钥,server.cert 是 CA 颁发证书或自签名证书文件。
【讨论】:
首先我们有证书.PFX 文件
第一步:(提取私钥)
openssl pkcs12 -in certificate.pfx -nocerts -out private.key -passin pass:123123 -passout pass:123123
Step2:(创建P12文件)
openssl pkcs12 -export -out ewallet.p12 -inkey private.key -in certificate.cer -passin pass:123123 -passout pass:123123
【讨论】: