Я работаю над этим проектом Java, где мне нужно загрузить закрытый ключ из хранилища ключей Windows с помощью провайдера SunMSCAPI, но я вообще не указываю пароль, я не знаю, нужно ли мне это делать. это пример теста того, что я делаю:
public static void main(String[] args) throws Throwable {
Provider provider = Security.getProvider("SunMSCAPI");
KeyStore wins=KeyStore.getInstance("Windows-MY", provider);
wins.load(null, null);
Enumeration<String> aliases = wins.aliases();
while (aliases.hasMoreElements()) {
String alias = (String) aliases.nextElement();
System.out.println(alias);
Certificate[] chain = wins.getCertificateChain(alias);
X509Certificate[] x509 = CERManager.toX509(chain);
for (int i = 0; i < x509.length; i++) {
System.out.println(x509[i].getSubjectX500Principal());
}
Key key = wins.getKey(alias, "1234".toCharArray());
System.out.println(key);
}
}
когда я запускаю это, я получаю некоторый сертификат, который я ранее импортировал из файла pfx с помощью Adobe Reader, но я не могу получить закрытый ключ, соответствующий этому сертификату, вместо этого я просто получаю null.
любая помощь по этой проблеме? заранее спасибо