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 回答