Java Keystore PrivateKeyEntry противrustCertEntry - PullRequest
0 голосов
/ 29 июня 2018

Я обновляю сертификат, используемый моим кластером Hadoop. Текущий JKS имеет одну запись:

Your keystore contains 1 entry

Alias name: myalias
Creation date: Jan 10, 2019
Entry type: PrivateKeyEntry
Certificate chain length: 1

Я пытаюсь создать новое хранилище ключей из нового сертификата:

keytool -importcert -alias myalias  -file newcertfile.crt -keystore newkeystore.jks

Но меня спрашивают, доверяю ли я этому сертификату (если я скажу «нет», keytool закроется):

Trust this certificate? [no]:  yes

И когда я смотрю на результат, это уже не PrivateKeyEntry, а доверенныйCertEntry:

keytool -list -v -keystore newkeystore.jks
...
...
Your keystore contains 1 entry

Alias name: myalias
Creation date: Feb 20, 2019
Entry type: trustedCertEntry
...
...

Что мне здесь не хватает? Должен ли я просто использовать JKS с trustCertEntry или есть способ сделать это так же, как старый JKS (с PrivateKeyEntry)?

1 Ответ

0 голосов
/ 29 июня 2018

В конце концов я понял, что должен также предоставить закрытый ключ (как указано Рошит в ссылке , которую он предоставил).

Итак, я начал с создания файла pfx:

openssl pkcs12 -export -out newcertbundle.pfx -inkey myprivate.key -in newcertfile.crt

А затем преобразовал его в JKS:

keytool -importkeystore -srckeystore newcertbundle.pfx -srcstoretype PKCS12 -srcstorepass mypass -deststorepass mypass -destkeypass mypass -destkeystore newkeystore.jks

Единственное, что я не мог понять (но это было не слишком важно для меня), это как использовать псевдоним, поэтому я выбрал стандартный по умолчанию (когда попытался указать, какой получил: псевдоним не существует. Это обсуждается здесь ).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...