为一个别名加载Java KeyStore?

Pet*_*y B 5 java certificate keystore private-key

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

例:

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

当我加载我的密钥库时:

keyStore = KeyStore.getInstance("Windows-MY", "SunMSCAPI");
keyStore.load(null);
Run Code Online (Sandbox Code Playgroud)

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

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

谢谢.

ZZ *_*der 3

我们遇到了同样的问题,但找不到方法。基本上,您是在询问是否有办法部分加载密钥库。MSCAPI 提供商会忽略您提供的任何密码,这让事情变得更加复杂。

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