私はこのコードで何が起こっているのかを理解しようとしています。
KeyStore trustStore = KeyStore.getInstance(KeyStore.getDefaultType());
FileInputStream instream = new FileInputStream(new File("my.keystore"));
try {
trustStore.load(instream, "nopassword".toCharArray());
} finally {
instream.close();
}
SSLSocketFactory socketFactory = new SSLSocketFactory(trustStore);
Scheme sch = new Scheme("https", socketFactory, 443);
httpclient.getConnectionManager().getSchemeRegistry().register(sch);
私の質問:
trustStore.load(instream, "nopassword".toCharArray());
正確に何をしていますか?ドキュメントを読むと、load()
任意の「nopassword」を使用して、入力ストリーム(作成したばかりの空のファイル)からKeyStoreデータが読み込まれます。null
InputStreamパラメータとしてロードし、パスワードフィールドとして空の文字列をロードしてみませんか?
そして、この空のKeyStoreがSSLSocketFactoryコンストラクターに渡されるとどうなりますか?そのような操作の結果は何ですか?
または-これは、実際のアプリケーションで既存のキーストアファイル/パスワードへの参照を実際に配置する必要がある単なる例ですか?