1

我有一个受信任的证书链,一个由这个链颁发的证书和这个证书的私钥文件。

我想为此创建一个 P12 / PFX,所以我可以将它作为客户端证书放在 windows 商店中:

OpenSsl Pkcs12 -export -nokeys
               -certfile mytrustedCertifcates.pem^
               -inkey myPrivateKey.Key^
               -in myCertificate.crt^
               -out myCertificate.P12

唉,生成的文件包含所有trustedCertificates。如果我在我的 Windows 证书存储中导入 P12,我会导入完整的证书链,尽管它们已经在证书存储中。

我还尝试了选项:(来自OpenSsl 命令行实用程序,也在 -help 中)

  • -nocerts 不输出证书。
  • -clcerts 仅输出客户端证书。

唉,P12 仍然包含完整的证书链,并且导入 P12 再次导入完整的链。

4

1 回答 1

1

BartonJs 在评论中给出了答案(谢谢 BartonJs!):

省略 --certfile 参数:

OpenSsl Pkcs12 -export -nokeys
               -name some friendly name
               -inkey myPrivateKey.Key^
               -in myCertificate.crt^
               -out myCertificate.P12
  • nokeys:省略 PEM 密码
  • name:将出现在 winstore 的友好名称列中的友好名称
  • inkey 和 in 是带有私钥的输入证书
  • out 是要生成的文件的名称。

在windstore中导入它(命令:certlm.msc)后,它正确地说:

  • 发给:
  • 由...发出:
  • 截止日期
  • 预期用途
  • 友好名称:
于 2019-03-07T08:29:53.940 回答