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