如何在 java 中将密钥对导入密钥库并使密钥不可导出



我正在将密钥对(私钥和证书(添加到java中的Windows密钥存储中。我需要使私钥不可导出。这样做的Java代码使私钥可导出。我该如何更改此设置?

我没有找到任何可以更改的属性或属性。 Keystore.store 方法获取 LoadStoreParameter,但看起来它是关于设置私钥的密码。

PrivateKey privateKey=...;
Certificate certificate=...;
KeyStore keyStore = KeyStore.getInstance("Windows-MY");
keyStore.load(null);
keyStore.setKeyEntry("alias",privateKey,"".toCharArray(),new java.security.cert.Certificate[]{certificate});

对 Windows 加密服务的访问由 SunMSCAPI 提供程序管理。它提供了Java JCE API和Windows服务之间的桥梁。请参阅文档

SunMSCAPI 提供程序使应用程序能够使用标准 JCA/JCE API 访问 Microsoft Windows 平台上的本机加密库、证书存储和密钥容器。SunMSCAPI 提供程序本身不包含加密功能,它只是 Java 环境和 Windows 上的本机加密服务之间的管道。

SunMSCAPI 中的WINDOWS-MY密钥库使用标准的 Java 密钥库 API,它没有定义任何类型的"可提取"属性,所以恐怕你将无法建立它。

相关内容

  • 没有找到相关文章

最新更新