gpt4 book ai didi

Java Applet Windows-MY keystore PrivateKey getEncoded 为 null

转载 作者:行者123 更新时间:2023-12-02 04:50:03 25 4
gpt4 key购买 nike

据我了解documentation应该可以通过服务“Windows-MY”访问Microsoft Windows KeyStore。

当我从 keyStore 加载 PrivateKey 时,我得到 privateKey.getEncoded() 的 null

如何从 Windows keystore 正确访问 PrivateKey?

尝试通过以下方式访问它:

KeyStore ks = KeyStore.getInstance("Windows-MY");
ks.load(null);
PrivateKey privateKey = (PrivateKey) ks.getKey("myKeyAlias", null);
System.out.println("privateKey:" + privateKey));
System.out.println("getEncoded:" + privateKey.getEncoded());

我得到的输出:

privateKey:RSAPrivateKey [size=2048 bits, type=Exchange, container=myKeyAlias]
getEncoded:null

使用JRE 1.8并在Win7和8.1上进行测试

最佳答案

MSCAPI似乎不支持私钥导出。

首先,Key.getEncoded() javadoc 指定:

Returns the key in its primary encoding format, or null if this key does not support encoding.

如果你看看source code of the Java crypto provider for MSCAPIgetEncoded() 方法实际上在所有情况下都返回 null

关于Java Applet Windows-MY keystore PrivateKey getEncoded 为 null,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29316108/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com