Я могу импортировать сертификат SSL, который был создан CA в мой Java keystore?

Я пытаюсь импортировать подписанный CA сертификат в Java keystore. Все инструкции, которые я могу найти для этого, говорят мне сначала создавать keystore и запрос подписания (CSR) использование Java keytool, затем иметь CSR, подписанный CA и затем импортировать сертификат со знаком назад в keystore.

Ну, глупый меня не прочитал прекрасное руководство и имел CA, создают сертификат онлайн для меня вместо того, чтобы загрузить мой собственный CSR. Теперь я имею:

  • ca.pem корневой сертификат о CA
  • sub.class1.server.ca.pem промежуточный сертификат о CA
  • mydomain.crt сертификат со знаком для моего домена, созданного CA
  • mydomain.key файл секретных ключей для моего сертификата, созданного CA

Я пытался импортировать сертификат своему keystore как это:

keytool -import -trustcacerts -alias root -file ca.pem -keystore mykeystore.jks
keytool -import -trustcacerts -alias intermediate -file sub.class1.server.ca.pem -keystore mykeystore.jks
keytool -import -alias mydomain mydomain.crt -keystore mykeystore.jks

Таким образом, содержание keystore теперь похоже на это:

intermediate, Jul 16, 2015, trustedCertEntry, 
Certificate fingerprint (SHA1): 0A:D3:...
root, Jul 16, 2015, trustedCertEntry, 
Certificate fingerprint (SHA1): 3E:2B:...
mydomain, Jul 16, 2015, trustedCertEntry, 
Certificate fingerprint (SHA1): 18:F2:...
selfsigned, Feb 4, 2015, PrivateKeyEntry, 
Certificate fingerprint (SHA1): 2B:74:...

К сожалению, сервис, который я пытаюсь защитить (сервер JIRA) не достижим при использовании „mydomain “псевдоним. Когда я использую „самоподписанный “псевдоним, который является самоподписанным сертификатом, который я создал из keystore ранее, при этом все другие настройки были идентичны, сервис может быть достигнут очень хорошо (за исключением предупреждения о самоподписанном сертификате, конечно); таким образом, я полагаю, что проблемой является сгенерированный CA сертификат.

Я пытался связать mydomain.crt и mydomain.key файлы, как предложено в этом потоке без успеха: Импорт цепочки сертификата PEM и ключа к Java Keystore

Есть ли что-то, что я мог бы делать неправильно? Действительно ли возможно импортировать сертификат, созданный третьим лицом в существующий Java keystore вообще? Или я должен отменить тот сертификат и пройти процесс снова с самодельным CSR, извлеченным из моего keystore?

1
задан 13 April 2017 в 15:14
1 ответ

Раньше я делал это, используя хранилище ключей PKCS12:

cat ca.pem sub.class1.server.ca.pem > chain.pem
openssl pkcs12 -export -inkey mydomain.key -certfile chain.pem \
      -out mydomain.p12 -in mydomain.pem -name mydomain

После этого используйте его напрямую, указав тип хранилища ключей как PKCS12 или преобразовав в JKS с помощью keytool:

keytool -importkeystore -srckeystore mydomain.p12 \
      -srcstoretype PKCS12 -deststoretype JKS -destkeystore mydomain.jks
0
ответ дан 4 December 2019 в 07:25

Теги

Похожие вопросы