感谢您协助解决从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组中。安装证书时,启用强私钥保护。选项未被选中。