将PKCS#12证书转换为PEM格式时输入PEM密码短语

53

我正在使用OpenSSL将我的"me.p12"转换为PEM。当我生成"me.p12"时,我为其设置了一个密码。"me.p12"包含私钥和证书。

在将其转换为PEM时,我运行以下命令:

openssl pkcs12 -in me.p12 -out me.pem

然后,它要求我输入 导入密码

Enter Import Password:
MAC verified OK

我输入了我设置的密码"me.p12",它验证通过了。但接下来,它让我:

Enter PEM pass phrase:

我不知道那是什么?当我生成“me.p12”时,没有设置任何其他密码。那是什么?如何解决这个问题?

3个回答

74
由于openssl不想以明文形式输出私钥,所以会提示输入“PEM保护口令”。该口令用于输出加密的私钥。
以下命令可用于以明文形式输出私钥,不需要任何密码提示。
openssl pkcs12 -nodes -in me.p12 -out me.pem

20
实际上,-nodes 代表 No DES,意味着 OpenSSL 不会使用 3DES-CBC 加密输出。 - Erdal G.

1

这是一个老问题,但我认为这是正确的答案:

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

0

当这个密码短语第一次出现时,我遇到了同样的情况,那么你必须安装它,然后当短语再次出现在终端中时,你就输入之前输入的密码短语。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接