5

有谁知道是否可以加载 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 的密码?

谢谢。

4

1 回答 1

3

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

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

于 2010-06-02T18:37:57.053 回答