私はプロバイダSunMSCAPIを使用してWindows KeyStoreからプライベートキーをロードする必要があるこのJavaプロジェクトで作業していますが、パスワードをまったく提供しません。私はそうする必要があるかどうかわからない。 これは私がやっているのサンプルテストケースである:私はこれを実行するとJava KeyStoreを使用してWindowsストアに秘密鍵をロードする方法
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);
}
}
は私には、Adobe Readerを使用してPFXファイルから以前にインポートしたいくつかの証明書を取得し、しかし、私は対応する秘密鍵を取得することはできません代わりに、私はnullを取得します。
この問題を回避するには?事前に感謝