【问题标题】:Load Java KeyStore for one alias?为一个别名加载 Java KeyStore?
【发布时间】:2011-02-26 22:07:57
【问题描述】:

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

谢谢。

【问题讨论】:

  • hm,你在哪里询问了两者的密码?
  • 我的密钥受 Entrust 的安全提供商保护,它会提示我输入两个密码。
  • 怎么样?您是使用代码(显示整个相关代码)还是通过 keytool 执行此操作?
  • 感谢您对博卓的关注。 MSCAPI 提供者与 ESP 对话,我没有。

标签: java certificate keystore private-key


【解决方案1】:

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

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

【讨论】:

  • 太傻了,当您尝试导出私钥时,它应该提示输入密码,而不仅仅是加载商店。谢谢ZZ,我会把这个问题留到另一天看看是否有人有答案,如果没有我会接受你的。
  • 我们遇到了同样的问题,尽管清除 MY 密钥库是不可能的,因为除了 USB 令牌之外,其他系统还依赖安装的静态证书。我们必须创建一个服务来加载它并消除其他键。此外,我们找到了一种挂钩 USB 事件并在插入和移除密钥时收到通知的方法,这使我们能够进一步清理房屋并在一定程度上减少弹出窗口的数量,尽管我们还没有完全消除它们。
猜你喜欢
  • 1970-01-01
  • 2018-06-22
  • 2018-11-03
  • 2020-07-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-05-03
相关资源
最近更新 更多