3

Java を使用して CAC と通信しようとしています。開発者キットから、一意の ID (CHUID) の抽出に関する情報と、カードで利用可能なアプレットなどの他のいくつかの情報を見つけることができました。ただし、カードからユーザー名 (LastName.FirstName.MiddleName.ID) を抽出できず、CAC に関するドキュメントも見つかりません。

カードを使用して安全な Web サイトにアクセスしていません。デスクトップアプリケーションでユーザーを認証するために使用しているため、カードに保存されている証明書にはアクセスできません。カードに保存されているさまざまなアプレットにアクセスできますが、ユーザー名を取得する方法がわかりません。このユーザー名は、システム内のユーザーを確認するために必要です。CAC からユーザー名を取得するにはどうすればよいですか?

4

2 に答える 2

2

これを行うために何を使用しているのかわかりませんが、PKCS#11 を使用してアクセスしている場合はKeyStore、「ID 証明書」というテキストを含むカードのエイリアスを見つける必要があります。その後、その証明書をX509Certificateusingとして取得しkeyStore.getCertificate(alias)、探している名前を取得できますcert.getSubjectX500Principal().getName()

そして、ええ、私はこの種のことに関するドキュメントを実際に見つけたこともありません.

于 2010-12-15T23:00:11.403 に答える
0

ほとんどのカード リーダーには、PKCS #11 サポートを有効にするドライバーが付属しており、SunPKCS11 セキュリティ プロバイダーを使用して、CAC を他のキー ストアと同様に扱うことができます。関連する質問に対するこの回答が役立つ場合があります。

CAC 対応の Java アプリケーションの開発に関するドキュメントについては、いずれも見つけることができませんでした。

于 2010-12-15T22:53:49.660 に答える