OpenSsl:如何在不包含CA文件的情况下创建PFX / P12?

时间:2019-03-06 15:38:23

标签: ssl openssl ssl-certificate p12

我有一个受信任的证书链,一个由该链发布的证书以及该证书的私钥文件。

我要为此创建一个P12 / PFX,因此我可以将其作为Windows商店中的客户端证书:

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

A,结果文件包含所有trustCertificates。如果我将P12导入Windows证书存储区,则将导入完整的证书链,尽管它们已经在证书存储区中。

我还尝试了以下选项:(来自OpenSsl command line utilities,也在-help中提供)

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

A,P12仍然包含完整的证书链,导入P12会再次导入完整的证书链。

1 个答案:

答案 0 :(得分:0)

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

省略--certfile参数:

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

将其导入到windstore中(命令:certlm.msc)后,正确地说:

  • 发布至:
  • 发布者:
  • 到期日期
  • 预期目的
  • 好记的名字: