为一个别名加载Java KeyStore?

有谁知道是否可以加载KeyStore,以便它只提示给定别名的密码?

例:

在我的密钥库中,我有两个私钥:Alice的加密证书和Bob的加密证书。

当我加载我的密钥库时:

keyStore = KeyStore.getInstance("Windows-MY", "SunMSCAPI"); keyStore.load(null); 

我被提示输入Alice和Bob的密钥存储密码。 一旦输入,我可以使用getKey("Alice's Encryption Certificate", null); 检索Alice的私钥。 我的密钥受Entrust的安全提供程序保护,它是在加载密钥库时提示我输入密码的人。 如果我没有输入Bob的密码并尝试获取他的密钥,它将返回null,这很好,但我想避免密码提示。

是否有可能以某种方式指定我在加载密钥存储区之前只需要Alice的密钥,这样我就不会被提示输入Bob的密码了?

谢谢。

我们遇到了同样的问题,无法找到办法。 基本上,您要问是否有办法部分加载密钥库。 MSCAPI提供程序忽略您提供的任何密码会使事情变得更加复杂。

我们通过MSCAPI密钥库只存储一个密钥来解决这个问题。 事实certificate,这也适用于智能卡的安全模型。