Подтвердить что ты не робот

Как добавить цепочку сертификатов в хранилище ключей?

У меня есть файл с цепочкой сертификатов - 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"
4b9b3361

Ответ 1

От человека keytool - он импортирует цепочку сертификатов, если ввод данных указан в формате PKCS # 7, иначе импортируется только один сертификат. Вы должны иметь возможность конвертировать сертификаты в формат PKCS # 7 с помощью openssl через команду openssl crl2pkcs7.

Ответ 2

Я решил проблему, собирая все пемы вместе:

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

(keytool не знал, что делать с форматированным ключом PKCS7)

Я получил все pems из letencrypt