クライアント CAC で証明書を読み取る ASP.NET アプリケーションがあります。
私の環境:Visual Studio 2012 IIS Express
IIS Express では、クライアントとサーバー用に 2 つの別々のサイトを実行しています。認証はサーバー上で行われます。
私のサーバーとクライアントのプロジェクトには、VS で次のプロパティがあります。
- 匿名認証 = 有効
- SSL 有効 = True
- Windows 認証 = 無効
- マネージド パイプライン モード = 統合
両方のサイトの Web.config ファイルで、もう一方のサイトは次の方法で参照されます。
https://localhost:<port>
サーバーのコードには次の行があります。
string mycert = HttpContext.Request.ClientCertificate.Subject;
これは、CAC カードからクライアントの証明書を要求することを想定しています。クライアント証明書に関連すると思われるすべてのフィールドに値がない (空またはゼロ) ため、ここで問題が発生します。
Q_1: サーバーで認証できるように、クライアントの CAC 証明書を読み取るにはどうすればよいですか?
Q_2: web.config ファイルに変更が必要なものはありますか?
Q_2B: oneToOneMapping について見たことがありますが、それが問題なのでしょうか?
Q_3: 私はこれについて遠いですか? もしそうなら、アドバイスしてください。
ありがとう!