Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/306.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java SunMSCAPI不返回任何证书_Java_Ssl_Keystore_Mscapi - Fatal编程技术网

Java SunMSCAPI不返回任何证书

Java SunMSCAPI不返回任何证书,java,ssl,keystore,mscapi,Java,Ssl,Keystore,Mscapi,我们正在尝试使用SunMSCAPI从Windows证书存储中检索证书。我创建了一个非常简单的示例,用于加载密钥库并列出可用别名。但是,代码没有列出任何内容,即使我在密钥库中看到两个个人证书 顺便说一下,在我自己的系统上,它工作得很好,但在我们将使用的实际应用服务器上,它没有列出任何内容 下面是我正在使用的代码 KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorith

我们正在尝试使用SunMSCAPI从Windows证书存储中检索证书。我创建了一个非常简单的示例,用于加载密钥库并列出可用别名。但是,代码没有列出任何内容,即使我在密钥库中看到两个个人证书

顺便说一下,在我自己的系统上,它工作得很好,但在我们将使用的实际应用服务器上,它没有列出任何内容

下面是我正在使用的代码

    KeyManagerFactory kmf = KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
    KeyStore ks = KeyStore.getInstance("Windows-MY");
    ks.load(null, null);

    Enumeration<String> aliases = ks.aliases();

    System.out.println("Listing aliases " + ks.size());
    while (aliases.hasMoreElements())
    {
        String ka = aliases.nextElement();

        System.out.println(ka + " " + ks.isKeyEntry(ka));
    }
KeyManagerFactory kmf=KeyManagerFactory.getInstance(KeyManagerFactory.getDefaultAlgorithm());
KeyStore ks=KeyStore.getInstance(“Windows MY”);
ks.load(null,null);
枚举别名=ks.alias();
System.out.println(“列出别名”+ks.size());
while(别名.hasMoreElements())
{
字符串ka=别名.nextElement();
System.out.println(ka+“”+ks.isKeyEntry(ka));
}
以及应用服务器上证书存储的屏幕截图。如您所见,我希望列出两个别名(但可能我找错了位置?)
您看到的是计算机证书,而不是用户证书
Windows MY
keystore只能使用个人用户证书

您可以使用控制面板中的管理用户证书(
certmgr
)而不是管理计算机证书(
certIm
)来浏览个人证书


您看到的是计算机证书,而不是用户证书
Windows MY
keystore只能使用个人用户证书

您可以使用控制面板中的管理用户证书(
certmgr
)而不是管理计算机证书(
certIm
)来浏览个人证书


列出别名时是否出现异常?请提供您的机器和应用服务器的规格。没有例外。只是一张空名单。我的笔记本电脑运行的是Windows 10。服务器上有Windows 2012R2。列出别名时有任何异常吗?请提供您的机器和应用服务器的规格。没有例外。只是一张空名单。我的笔记本电脑运行的是Windows 10。服务器上有Windows 2012R2。是的,就是这样。我的个人用户证书存储是空的。谢谢你的澄清。是的,就是这样。我的个人用户证书存储是空的。谢谢你的澄清。