2012-12-29 33 views
0

可能重复:
Can i get installed certificate on my system through java如何检查在使用java的客户端Windows系统中安装的Windows数字证书?

我们的网站让用户安装在他们的Windows客户端一个客户端的X.509数字证书。我们需要检查登录我们网站的用户是否成功安装了我们的数字认证。 我们决定使用java小应用程序来检查这个数字证书,但在谷歌中没有提供可用的方法。我如何检查安装在他们的Windows客户端使用Java小程序的数字证书?

+0

什么是 '数字证书'? – EJP

回答

0

这里是你如何从Windows证书存储读取证书:

KeyStore ks = KeyStore.getInstance("Windows-MY", "SunMSCAPI"); 
ks.load(null, null); 

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

while (aliases.hasMoreElements()) { 
    String alias = (String) aliases.nextElement(); 
    X509CertImpl certificate = (X509CertImpl)ks.getCertificate(alias); 

    System.out.println("Alias: " + alias); 
    System.out.println(" Subject: " + certificate.getSubjectDN()); 
    System.out.println(" Issued By: " + certificate.getIssuerDN()); 

    if (ks.isKeyEntry(alias)) { 
     System.out.println(" Has private key"); 
    } 
} 

http://docs.oracle.com/javase/6/docs/technotes/guides/security/SunProviders.html#SunMSCAPI

相关问题