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

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

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


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

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


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


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

最佳答案

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)后,它正确地说:


发给:
由...发出:
截止日期
目的
友好名称:

关于ssl - OpenSsl:如何创建不包含CA文件的PFX/P12?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/55026867/

10-10 14:59