Hadoopクラスターで使用されている証明書を更新しています。現在のJKSには1つのエントリがあります。
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ではなく、trustedCertEntryです。
keytool -list -v -keystore newkeystore.jks
...
...
Your keystore contains 1 entry
Alias name: myalias
Creation date: Feb 20, 2019
Entry type: trustedCertEntry
...
...
ここで何が欠けていますか? TrustedCertEntryでJKSを使用するだけですか、それとも古いJKS(PrivateKeyEntryを使用)と同じようにする方法はありますか?
私は最終的に私も秘密鍵を提供しなければならないことを理解しました(- link で述べたように Roshith が彼が提供したように)。
だから私は最初に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
私が理解できなかった唯一のこと(しかし、私にとってあまり重要ではなかった)は、エイリアスの使用方法だったので、デフォルトのエイリアスを使用しました(エイリアスを指定しようとしたときに、エイリアスが存在しません。これについて説明します) ここ )。