有没有办法在不使用别名枚举的情况下迭代Windows-MY密钥库。我遇到的问题是我有一个智能卡,上面有两个带有相同别名的证书,所以当我尝试加载第二个证书时,我再次获得第一个证书。 目前我迭代证书如下:
try {
KeyStore oks = KeyStore.getInstance("Windows-MY", MSProvider);
oks.load(null, null);
for (Enumeration l = oks.aliases(); l.hasMoreElements();) {
certCount++;
String al = (String) l.nextElement();
Certificate cert = oks.getCertificate(al);//<<returns the same cert twice
//do stuff
}
感激不尽的任何帮助。
好的,事实证明这是Java Microsoft CryptoAPI KeyStore实现中的已知错误,其中友好名称仅用作别名 - 请参阅 here
该链接还包含我在下面添加的解决方案,以防链接中断
答案 0 :(得分:3)