SSL を使用するアプリケーションを作成しています。したがって、ダミーのキーストアとダミーのトラストストアを顧客に提供したいと考えています。それらをディストリビューション内に配置するためのデフォルトのフォルダーはありますか? 例: docs、lib、bin...など。通常、キーストアはサーバーのどこに配置され、トラストストアは通常クライアントのどこに配置されますか?
ありがとう
Java では、JSSE リファレンス ガイドによると、のデフォルトkeystore
はtruststore
ありません。
一部のアプリケーション~/.keystore
はデフォルトの鍵ストアとして使用しますが、これには問題がないわけではありません (主に、ユーザーが実行するすべてのアプリケーションでそのトラスト ストアを使用したくない場合があるため)。
代わりに、アプリケーションにバンドルするアプリケーション固有の値を使用することをお勧めします。一般的には、より適切である傾向があります。
ブルーノが言ったように、自分で設定したほうがいいです。これが私のやり方です。まず、プロパティ ファイル (/etc/myapp/config.properties) を作成します。
javax.net.ssl.keyStore = /etc/myapp/keyStore
javax.net.ssl.keyStorePassword = 123456
次に、コードから環境にプロパティを読み込みます。これにより、アプリケーションが構成可能になります。
FileInputStream propFile = new FileInputStream("/etc/myapp/config.properties");
Properties p = new Properties(System.getProperties());
p.load(propFile);
System.setProperties(p);