从[受信任的根证书颁发机构\本地计算机]密钥库中提取Java中的私钥

时间:2014-12-24 06:34:56

标签: java encryption cryptography x509certificate keystore

感谢您协助解决从Windows [受信任的根证书颁发机构\本地计算机] 密钥存储区中提取私钥时遇到的问题。我有这段代码:

KeyStore keyStore = KeyStore.getInstance("Windows-ROOT");
keyStore.load(null, null);
String alias = "MyAlias";

// Extract key associated with the specified alias
Key key = keyStore.getKey(alias, null);
Certificate cert = keyStore.getCertificate(alias);

if (key instanceOf PrivateKey) {
    // Do stuff ...
}

这是问题所在。当我远程登录到生产PC时,密钥被成功提取为<计算机IP> \ Administrator BUT失败(即Key key = keyStore.getKey(alias, null);返回 null )当远程登录为<域> ; \ MyUserName输入。但是,在两种情况下都会成功提取证书。

它变得更有趣。在我的开发PC上,当我以本地管理员身份登录以及以< Domain> \ MyUserName登录时,密钥已成功提取。

在生产PC和开发PC上,安装了证书,并且管理员已登录。< Domain> \ MyUserName位于开发PC和生产服务器上的Administrators组中。安装证书时,启用强私钥保护。选项未被选中。

0 个答案:

没有答案