【问题标题】:Using WINDOWS-MY Keystore with JDK 1.4在 JDK 1.4 中使用 WINDOWS-MY 密钥库
【发布时间】:2013-10-30 05:40:07
【问题描述】:

出于某些签名目的,我必须访问 Windows 证书存储才能访问证书。 目前我正在使用以下方法访问密钥库:

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

这适用于 JDK1.6 并满足我的所有要求。但是,由于“无法避免的配置和遗留问题”(让我们暂时搁置),我必须移植代码以使其在编译时与 JDK 1.4 兼容。 我在 1.4 上运行它时遇到的问题是它无法找到 WINDOWS-MY 密钥库:

java.security.KeyStoreException: Windows-MY not found

我认为在 JRE1.6 上运行时它应该运行良好,而在 1.4 上编译。不过,任何人都可以确认这个 KeyStore 是否只是运行时依赖项? 另外,我可以使用任何其他第三方提供商来提供对 JDK1.4 级别的 WINDOWS-MY KeyStore 的支持吗?

【问题讨论】:

  • 它是否必须来自 Windows 密钥库?您可以创建它的副本并将其存储为 JKS 或 PKCS12 文件并改用它吗?
  • 不。就是这样。由于某些原因,我们排除了 JKS/PKCS12 存储选项。它必须来自 Windows 密钥库。

标签: java security cryptography digital-signature


【解决方案1】:

它是一种运行时依赖,因为密钥库实现在 Java 加密提供程序中。提供者本身只是存在于.jar 文件中。但是有一个问题:提供者需要签名,并且需要为正确的运行时签名。从 1.5 开始,相同的签名似乎也适用于以后的运行时,但对于 1.4 肯定不是这样。

对 Windows 密钥存储的支持相对较新。 1.6之前没听说过。在 1.4 中创建一个可以执行此操作的提供程序将非常棘手,所以我不会屏住呼吸。用特定于 Windows 的签名过程替换签名过程会更容易(从开发的角度来看),这是肯定的。

【讨论】:

    猜你喜欢
    • 2017-05-25
    • 2016-12-21
    • 1970-01-01
    • 2015-06-01
    • 1970-01-01
    • 2011-05-10
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多