0

重複の可能性:
Java を使用してシステムにインストールされた証明書を取得できますか

当社の Web サイトでは、ユーザーが Windows クライアントにクライアント x.509 数字証明書をインストールできます。サイトにログインしているユーザーが数字認証を正常にインストールしているかどうかを確認する必要があります。Java アプレットを使用してこの数字証明書を確認することにしましたが、Google では利用可能な方法が提供されていません。Java アプレットを使用して、数字証明書が Windows クライアントにインストールされているかどうかを確認するにはどうすればよいですか?

4

1 に答える 1

0

Windows 証明書ストアから証明書を読み取る方法は次のとおりです。

KeyStore ks = KeyStore.getInstance("Windows-MY", "SunMSCAPI");
ks.load(null, null);

Enumeration<String> aliases = ks.aliases();

while (aliases.hasMoreElements()) {
    String alias = (String) aliases.nextElement();
    X509CertImpl certificate = (X509CertImpl)ks.getCertificate(alias);

    System.out.println("Alias: " + alias);
    System.out.println("  Subject: " + certificate.getSubjectDN());
    System.out.println("  Issued By: " + certificate.getIssuerDN());

    if (ks.isKeyEntry(alias)) {
        System.out.println("  Has private key");
    }
}

http://docs.oracle.com/javase/6/docs/technotes/guides/security/SunProviders.html#SunMSCAPI

于 2012-12-29T09:44:13.970 に答える