6

私たちの Web サイトに CAC を実装したいクライアントがいます。通常、ユーザーは、割り当てられた証明書に基づいて、既にアクセス権を持っています。

ボタンをクリックしてログインする際に、CAC PIN コードを入力して検証されることを望んでいます。

ActivClient を使用して CAC を管理していますが、ウェブサイトがカード リーダーと通信して、ユーザーに PIN コードを入力して検証させる方法がわかりません。

これは IIS の設定によって行われますか、それともミドルウェアと何らかの方法で通信するためにコードを更新する必要がありますか?

前もって感謝します

4

2 に答える 2

8

私たちが使用したソリューションには、CAC から提供された情報を使用するためのコード変更だけでなく、IIS の構成変更も含まれていました。

IIS (8.0) では、認証を匿名認証に設定するだけです。SSL 設定で、[SSL が必要] をオンにし、[クライアント証明書] で [必須] オプションを選択します。

認証後、証明書からアクセスする必要がある情報に応じて、次の方法を使用してアクセスできます。

X509Certificate2 certificate = new X509Certificate2(Request.ClientCertificate.Certificate);

これにより、CAC が運ぶ情報を含む証明書オブジェクトが得られます。これらのプロパティの一部には、次を使用してアクセスできます。

certificate.GetNameInfo(X509NameType.SimpleName);  //X509NameType.EmailName, etc
于 2015-05-18T20:56:40.303 に答える
2

私は最近、国防総省とこれに対処しました。関連するコードはありません。IIS サイトを統合セキュリティ (または AD 構成に基づく証明書認証) を使用するように設定し、他の認証メカニズムを無効にするだけです。ブラウザは、Active Directory で構成された方法を使用してユーザーに資格情報の入力を求めます。ユーザーが AD を正しく使用している場合は、CAC 証明書の選択と PIN ウィンドウが表示されます。HTTPS も使用する必要があることに注意してください。そうしないと、セキュリティ上の理由から、ブラウザーは CAC 資格情報をサーバーに渡しません。

于 2015-05-18T19:48:00.977 に答える