2013-10-31 54 views
14

我试图使用openssl将多个证书加载到PKCS12格式中。命令如下:使用openssl将多个证书加载到PKCS12中

openssl pkcs12 -export -in cert1.arm -inkey cert1_private_key.pem -certfile cert2.arm -certfile cert3.arm -certfile RootCert.pem -name "Test" -out test.p12 

已经解析生成的PKCS12文件中,只有最后一个证书已被列入到文件:

openssl pkcs12 -in test.p12 -info -nodes 

我也试图分别将其导入到PKCS12文件,而在所有的尝试中,只有最后一个证书保留在文件中。

任何想法解决它的问题在哪里?

回答

17

首先,确保您的所有证书都是PEM格式。然后,创建一个名为“certs.pem”的SINGLE文件,其中包含其余证书(cert2.arm,cert3.arm和RootCert.pem)。

然后使用命令如下:

openssl pkcs12 -export -in cert1.arm -inkey cert1_private_key.pem -certfile certs.pem -name "Test" -out test.p12 

openssl pkcs12文档解释了不同的选择。

+0

有没有办法自动执行它?手动将证书添加到单个文件似乎并不实际(当涉及到从PKCS12文件添加/删除证书时)。 –

+3

您可以将单个文件连接到用于创建pkcs12文件的同一命令行中的组合文件。例如在Windows中,键入cert2.arm cert3.arm RootCert.pem> combined.pem&openssl pkcs12 ...'。在Linux/Unix中,您可以执行'cat cert2.arm cert3.arm RootCert.pem> combined.pem; openssl pkcs12 ...' – gtrig