如果使用MSCAPI,则假定您已将密钥添加到Microsoft证书存储中。您可以通过转到“
Internet属性”>“内容”>“证书”来检查该密钥是否存在,该列表为您提供了可用证书的列表。如果您的证书不存在,则无法使用。如果存在,则需要以下代码:
SunMSCAPI providerMSCAPI = new SunMSCAPI();Security.addProvider(providerMSCAPI);KeyStore ks = KeyStore.getInstance("Windows-MY");ks.load(null, null);从那里开始,代码是非常标准的。请查阅我的数字签名书以获取更多信息(该书是免费的)。
重要说明: 我忘了提到SunMSCAPI在64位版本的Java 6中不存在(我不了解Java 7)。您可以通过安装32位版本来解决此问题。



