3

JSPのクライアント証明書ストアからの証明書のリストを表示しようとしています。.Netには、次のコードで証明書のリストを表示するオプションがあります。

X509Store xStore = new X509Store(...);
xStore.Open(...); // This will open the list of certicates in open dialog box.

Javaでこの情報を取得するための同様の機能はありますか?

4

1 に答える 1

2

デフォルトのJDKクラスを使用してJKSストアを開き、buncycastleなどのライブラリが必要なpkcs12ファイルなどを開くことができます。例えば:

KeyStore keystore = KeyStore.getInstance("PKCS12", "BC");

次に、実際のキーストアをロードします。

keystore.load(inputStream, password);

空のパスワードは、bouncycastleまたはjdkによって異なる方法で処理されることに注意してください(一方には空の文字列が必要で、もう一方にはnull iircが必要です)。キーストアインスタンスを取得したら、エイリアスをループしてタイプを確認することで、証明書を簡単に取得できます。

Enumeration<String> aliases = keystore.aliases();
while (aliases.hasMoreElements()) {
    String alias = aliases.nextElement();
    if (store.entryInstanceOf(alias, KeyStore.TrustedCertificateEntry.class))
        certificates.put(alias, (X509Certificate) store.getCertificate(alias));
}
于 2013-01-11T07:05:43.237 に答える