如何将证书链添加到密钥库?

Vol*_*lyy 30 java openssl certificate keystore keytool

我有证书链的文件 - 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-----
Run Code Online (Sandbox Code Playgroud)

我需要将这个证书链添加到密钥库.
我所做的:

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>
Run Code Online (Sandbox Code Playgroud)

结果我在密钥库中只有1个证书.
但应该有3.
什么可能是错的?

解决方案:
CA向我发送了PKCS#7格式的证书.
我将它们存储在certificate.p7b文件中,然后通过以下命令成功将它们添加到密钥库:

keytool -import -trustcacerts -file certificate.p7b -keystore keystore -storepass <mypasswd> -alias "myalias"
Run Code Online (Sandbox Code Playgroud)

non*_*ont 25

我把所有的豌豆拼凑在一起解决了这个问题:

cat cert.pem chain.pem fullchain.pem >all.pem
openssl pkcs12 -export -in all.pem -inkey privkey.pem -out cert_and_key.p12 -name tomcat -CAfile chain.pem -caname root -password MYPASSWORD
keytool -importkeystore -deststorepass MYPASSWORD -destkeypass MYPASSWORD -destkeystore MyDSKeyStore.jks -srckeystore cert_and_key.p12 -srcstoretype PKCS12 -srcstorepass MYPASSWORD -alias tomcat
keytool -import -trustcacerts -alias root -file chain.pem -keystore MyDSKeyStore.jks -storepass MYPASSWORD
Run Code Online (Sandbox Code Playgroud)

(keytool不知道如何处理PKCS7格式的密钥)

我从letsencrypt得到了所有的pems

  • 请注意,如果证书末尾缺少换行符(发生在我身上),则cat会创建残缺的pem。所以最好事后检查all.pem的内容。 (3认同)

Nic*_*sky 8

从keytool man - 它导入证书链,如果输入是以PKCS#7格式给出的,否则只导入单个证书.您应该能够通过openssl crl2pkcs7命令将证书转换为使用openssl的PKCS#7格式.

  • 不适合我.我收到错误:`keytool error:java.lang.Exception:输入不是X.509证书.p7p文件是通过以下方式创建的:`openssl crl2pkcs7 -nocrl -certfile cacert.pem -certfile client-cert.pem -out outfile.p7b` (13认同)
  • 这里的帖子:`http:// stackoverflow.com/a/22028156/1817029`告诉keytool无法导入p7p文件! (4认同)