Warum zeigt der IE ein Zertifikat-Popup an, wenn der Authentifizierungsmodus in IIS anonym ist?

Warum zeigt der IE ein Zertifikat-Popup an, wenn der Authentifizierungsmodus in IIS anonym ist?

Ich habe eine Website auf einem IIS-Server bereitgestellt. Der Authentifizierungsmodus ist auf anonym: aktiviert eingestellt.

Wenn ich die Website-URL eingebe und die Eingabetaste drücke, zeigt mir der IE ein Zertifikat-Popup an, in dem ich aufgefordert werde, ein Zertifikat auszuwählen. Warum kann das passieren?

Antwort1

Der Browser fordert ein Zertifikat an, da der Server während des TLS-Handshakes eine Zertifikatsanforderungsnachricht gesendet hat.

Normalerweise sendet es dabei eine Liste der Distinguished Names von CAs, deren Zertifikate es zur Authentifizierung akzeptiert. Diese Liste bedeutet im Wesentlichen„Senden Sie mir ein Client-Authentifizierungszertifikat, das von einer dieser Zertifizierungsstellen ausgestellt wurde“. Wenn keine Liste gesendet wird, kann der Client jedes beliebige Client-Authentifizierungszertifikat senden, das er hat, dem der Server jedoch möglicherweise nicht vertraut. Dies würde lediglich den Arbeitsaufwand/die Frustration des Bedieners erhöhen, der herausfinden (raten?) müsste, welches Zertifikat er auswählen soll.

Daher werden Ihnen drei Zertifikate angezeigt, weil entweder nur drei Client-Authentifizierungszertifikate in Ihrem Browser installiert sind und die Liste leer ist, oder weil mehr als drei Client-Authentifizierungszertifikate in Ihrem Browser installiert sind und die vom Server gesendete Liste die Auswahl einschränkt.

Details sind inRFC 5246 Abschnitt 7.4.4.

Die Option zum Anfordern eines Zertifikats vom Client ist auf dem Server konfiguriert. Daher wird Ihnen dieses Popup angezeigt, weil der Server so konfiguriert ist, dass er ein Client-Zertifikat anfordert.

Denken Sie daran, dass dies geschieht, bevor HTTP-Verkehr fließt. Daher sollten Sie Dinge wieAnonyme Authentifizierungunter IIS hat keine Auswirkungen darauf, da es damit zusammenhängt, wie der Benutzer nach dem Einrichten der TLS-Sitzung über HTTP authentifiziert wird (keine, Kerberos, Benutzername/Passwort usw.).

Die meisten Webserver können mit unterschiedlichen Einstellungen für unterschiedliche Schemata (http vs. https), unterschiedliche Ports (443 vs. 8443), unterschiedliche DNS-Namen (www.beispiel.orgvs app.example.org) oder sogar verschiedene virtuelle Verzeichnisse (/ vs /myapp). Auf dieser Ebene befindet sich die Einstellung zur Anforderung der Client-Authentifizierung.

In IIS wird die Client-Authentifizierung unter demSSL-EinstellungenSeite. SSL erforderlichlegt fest, ob ein HTTPS verwendet wird (Serveridentität und Verschlüsselung) und die drei Optionen unterClient-Zertifikatedefinieren, ob der Browser ein Client-Authentifizierungszertifikat senden soll oder nicht (Letzteres ist ohne Ersteres nicht möglich, da die Client-Authentifizierung Teil von TLS (oder SSL) ist). Es gibt eine andereSSL-EinstellungenSeite für jede Site und für jedes virtuelle Verzeichnis unter einer Site. Wenn Sie nicht möchten, dass der Server Client-Zertifikate anfordert, setzen Sie dies aufIgnorierenin allen von ihnen.

verwandte Informationen