将 PKCS#12 证书转换为 PEM 时输入 PEM 密码
Posted
技术标签:
【中文标题】将 PKCS#12 证书转换为 PEM 时输入 PEM 密码【英文标题】:Enter PEM pass phrase when converting PKCS#12 certificate into PEM 【发布时间】:2017-03-16 22:20:27 【问题描述】:我正在使用 OpenSSL 将我的“me.p12”转换为 PEM。当我生成“me.p12”时,我为其设置了密码。 “me.p12”包含一个私钥和一个证书。
当我将它转换为 PEM 时,我运行命令:
openssl pkcs12 -in me.p12 -out me.pem
然后,它问我Import Password
:
Enter Import Password:
MAC verified OK
我输入了我设置为“me.p12”的密码,验证OK。但接下来,它问我:
Enter PEM pass phrase:
我不知道那是什么?当我生成“me.p12”时,我没有设置任何其他密码。那么,那是什么?如何解决这个问题?
【问题讨论】:
【参考方案1】:“输入 PEM 密码”,因为 openssl 不想以明文形式输出私钥。密码用于输出加密的私钥
以下命令可用于以明文形式输出私钥。然后不询问密码。
openssl pkcs12 -nodes -in me.p12 -out me.pem
【讨论】:
事实上,-nodes
代表 No DES,这意味着 OpenSSL 不会加密输出(使用 3DES-CBC)【参考方案2】:
我第一次出现这个密码时遇到了同样的情况,然后你必须安装它,然后当这个短语再次出现在终端时,你输入你之前输入的密码。
【讨论】:
【参考方案3】:这是一个全问题,但我认为这是正确的答案:
openssl pkcs12 \
-passin pass:'your_pass' \ # Input file or pass phrase source
-nodes \ # Don't encrypt private keys
-in me.p12 \ # Input filename
-out me.pem # Output filename
通常您在编写脚本时使用它可以与它结合:
openssl genrsa \
-passout pass:'your_pass' \ # Output file or pass phrase source
-out ca.key \
-des3 2048
【讨论】:
以上是关于将 PKCS#12 证书转换为 PEM 时输入 PEM 密码的主要内容,如果未能解决你的问题,请参考以下文章
SaltStack-OpenSSL-Pkcs12:如何使用saltStack转换生成的letsencrypt证书
使用 OpenSSL 以编程方式将 .PEM 证书转换为 .PFX