IIS の認証モードが匿名の場合、IE に証明書のポップアップが表示されるのはなぜですか?

IIS の認証モードが匿名の場合、IE に証明書のポップアップが表示されるのはなぜですか?

IIS サーバーに Web サイトを展開しています。認証モードは匿名に設定されています: 有効です。

ウェブサイトの URL を入力して Enter キーを押すと、IE に証明書の選択を求める証明書ポップアップが表示されます。なぜこのようなことが起こるのでしょうか?

答え1

TLS ハンドシェイク中にサーバーが証明書要求メッセージを送信したため、ブラウザは証明書を要求しています。

通常、その一環として、認証のために受け入れる証明書を持つCAの識別名のリストが送信されます。このリストは基本的に「これらの CA のいずれかによって発行されたクライアント認証証明書を送ってください」リストを送信しない場合、クライアントは、サーバーによって信頼されない可能性のある任意のクライアント認証証明書を自由に送信できます。これにより、どの証明書を選択するかを判断 (推測?) しなければならないオペレーターの作業負荷とフラストレーションが増加するだけです。

したがって、ブラウザにインストールされているクライアント認証証明書が 3 つしかなくリストが空であるため、3 つの証明書が表示されます。または、ブラウザに 3 つ以上のクライアント認証証明書がインストールされており、サーバーから送信されたリストによって選択が制限されているためです。

詳細はRFC 5246 セクション 7.4.4

クライアントから証明書を要求するオプションはサーバー上で構成されているため、サーバーはクライアント証明書を要求するように構成されているため、このポップアップが表示されます。

これはHTTPトラフィックが流れる前に行われるので、次のような設定をしてください。匿名認証IIS では、TLS セッションがセットアップされた後にユーザーが HTTP 経由で認証される方法 (なし、Kerberos、ユーザー名/パスワードなど) に関係するため、これには影響しません。

ほとんどのウェブサーバーは、異なるスキーム(http vs https)、異なるポート(443 vs 8443)、異なるDNS名(このサイト異なる仮想ディレクトリ (/ vs /myapp) が存在する場合もあります。クライアント認証を要求する設定はこのレベルにあります。

IISではクライアント認証は以下で設定されます。SSL設定ページ。 SSL を要求するHTTPSを使用するかどうか(サーバーのIDと暗号化)を設定し、以下の3つのオプションを設定します。クライアント証明書ブラウザがクライアント認証証明書を送信するかどうかを定義します(クライアント認証はTLS(またはSSL)の一部であるため、前者なしで後者を使用することはできません)。SSL設定各サイトおよびサイト下の仮想ディレクトリごとにページを作成します。サーバーがクライアント証明書を要求しないようにするには、これを無視するそれらすべてにおいて。

関連情報