キーストアは通常、秘密鍵/公開鍵を保持し、トラストストアは公開鍵のみを保持することを理解しています(また、通信する予定の信頼できる当事者のリストを表します)。まあ、それが私の最初の仮定なので、それが正しくない場合、私はおそらくうまくスタートしていません...
しかし、keytoolを使用するときに、どのように/いつ店舗を区別するかを理解することに興味がありました。
これまでのところ、私はキーストアを作成しました
keytool -import -alias bob -file bob.crt -keystore keystore.ks
これにより、keystore.ksファイルが作成されます。yes
ボブを信頼していますか?という質問に答えますが、これがキーストアファイルを作成したのかトラストストアファイルを作成したのかはわかりません。ファイルをどちらかとして使用するようにアプリケーションを設定できます。
-Djavax.net.ssl.keyStore=keystore.ks -Djavax.net.ssl.keyStorePassword=x
-Djavax.net.ssl.trustStore=keystore.ks -Djavax.net.ssl.trustStorePassword=x
そして、でSystem.setProperty( "javax.net.debug", "ssl")
セット、私は、信頼できる証明(ただし、キーストアのセクションの下)の下での証明書を見ることができます。私がインポートしている特定の証明書には公開鍵しかなく、それを使用してSSL接続を介してBobにデータを送信するつもりです(ただし、それは別の質問に任せるのが最善です!)。
ポインタや説明をいただければ幸いです。keytoolの出力は、インポートしたものと同じであり、1つはキーストアで、もう1つはトラストストアであるという規則になっていますか?SSLなどを使用する場合の関係は何ですか?