关于openssl:如何在没有私钥的情况下创建.p12或.pfx文件?

 2020-09-16 

How can I create a .p12 or .pfx file without a private key?

我正在尝试创建一个不包含有效身份(公钥/私钥对)的.p12文件,以测试我的应用程序的证书导入功能。 使用openssl工具可以做到这一点吗?

我试过了

1
openssl pkcs12 -in client-certonly.pem -export -out client-certonly.p12

但我得到一个错误:

1
2
unable to load private key
471:error:0906D06C:PEM routines:PEM_read_bio:no start line:/SourceCache/OpenSSL098/OpenSSL098-50/src/crypto/pem/pem_lib.c:648:Expecting: ANY PRIVATE KEY

如果无法使用openssl进行此操作,是否可以使用其他工具?


有一个非常方便的用Java语言编写的GUI工具,称为portecle,可用于创建空的PKCS#12密钥库,也可以用于将证书导入而无需将私钥导入PKCS#12密钥库-此功能可在" 导入受信任的证书(Ctrl-T)"按钮。

但是,如果您坚持使用OpenSSL,则可以使用以下命令:

1
openssl pkcs12 -export -nokeys -in certificate.cer -out pkcs12.pfx