0

私のアプリは、秘密鍵(関連する公開証明書を含む)を読み取るだけで済み、KeyStoreへの書き込み、パスワードの変更、変更はまったく必要ありません-読み取りだけです。読むためにこのコードを使用できることを誰かが確実に知っていますか:

///doing some actions
KeyStore store = KeyStore.getInstance("foo", "bar");
store.load(iaminputstream, iampwd); // I'M JUST LOADING, I'M NOT GONNA STORE IT!
PrivateKey pk = (PrivateKey) store.getKey(iamalias, iamkeypass);
Certificate cert = store.getCertificate(iamalias);
///contnuing some actions

これの代わりに:

///doing some actions
KeyStore store = KeyStore.getInstance("foo", "bar");

try{
    store.load(iaminputstream, iampwd); //I'VE LOADED

    PrivateKey pk = (PrivateKey) store.getKey(iamalias, iamkeypass);
    Certificate cert = store.getCertificate(iamalias);

} finally {
    store.store(iamoutputstream, iampassword); //AND I'VE SAVED!
}
///contnuing some actions

証明リンクは非常に高く評価されています!

4

2 に答える 2

4

もちろん保存する必要はありません。例外を処理することを忘れないでください。javadocを見てください- load() 呼び出し後に必要な保存については何もありません。

于 2012-07-30T07:20:18.557 に答える
1

何も保存していない場合は、呼び出す必要はありませんstore.store()

ただし、入力ストリームを閉じて例外を処理することを忘れないでください。

于 2012-07-30T07:24:35.140 に答える