我有带有证书链的文件 - certificate.cer:
subject=/C...
issuer=/C=US/O=VeriSign, Inc...
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
subject=/C=US/O=VeriSign, Inc...
issuer=/C=US/O=VeriSign, Inc...
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
subject=/C=US/O=VeriSign, Inc...
issuer=/C=US/O=VeriSign, Inc...
-----BEGIN CERTIFICATE-----
...
-----END CERTIFICATE-----
我需要将此证书链添加到密钥库。
我所做的:
openssl x509 -outform der -in certificate.cer -out cert.der
keytool -v -importcert -alias mykey -file cert.der -keypass <passwd> -keystore keystore -storepass <passwd> -alias <myalias>
结果我在密钥库中只有 1 个证书。
但是应该有3个。
有什么问题吗?
解决方案:
CA 以 PKCS#7 格式向我发送了证书。
我将它们存储在 certificate.p7b 文件中,然后通过以下命令将它们成功添加到密钥库中:
keytool -import -trustcacerts -file certificate.p7b -keystore keystore -storepass <mypasswd> -alias "myalias"
原文由 Volodymyr Bezuglyy 发布,翻译遵循 CC BY-SA 4.0 许可协议
从 keytool man - 它导入证书链,如果输入以 PKCS#7 格式给出,否则只导入单个证书。您应该能够通过 openssl crl2pkcs7 命令使用 openssl 将证书转换为 PKCS#7 格式。