pls
pls

Reputation: 575

Reading and writing to java KeyStore

My app needs only to read private keys(with associated public cert), no writing to KeyStore, no password changing, no changes at all - just reading. Does anybody know for sure that for reading I can use this code:

///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

instead of this:

///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

Prove link is highly appreciated!

Upvotes: 0

Views: 4141

Answers (2)

Nishan
Nishan

Reputation: 2871

If you are not storing anything, you don't have to call store.store()

But do remember to close the inputstream and handle exceptions.

Upvotes: 1

Grigory Katkov
Grigory Katkov

Reputation: 421

You don't need to save it of course. Just don't forget to handle exceptions. Take a look at javadoc - there is nothing about required saving after load() call.

Upvotes: 4

Related Questions