IIS kann Clientzertifikatanforderungen mit HTTP-Fehlern 403.7 oder 403.16 ablehnen
Dieser Artikel hilft Ihnen, das Problem zu beheben, bei dem Internetinformationsdienste (IIS) 8 Clientzertifikatanforderungen mit HTTP 403.7- oder 403.16-Fehlern ablehnen können.
Ursprüngliche Produktversion: Internetinformationsdienste
Ursprüngliche KB-Nummer: 2802568
Problembeschreibung
Stellen Sie sich folgendes Szenario vor: Sie verfügen über eine IIS 8-Webanwendung, die für die Verwendung der SSL- und Clientzertifikatauthentifizierung konfiguriert ist. Sie installieren ein Zertifikat, das nicht selbstsigniert ist, z. B. ein Zertifikat der Zwischenzertifizierungsstelle, im Zertifikatspeicher Lokaler Computer -->Vertrauenswürdige Stammzertifizierungsstellen auf dem IIS-Server. Wenn ein Benutzer dann eine HTTP-Anforderung an die Webanwendung sendet und versucht, sich mithilfe eines Clientzertifikats zu authentifizieren, wird möglicherweise eine der folgenden Fehlermeldungen als Antwort vom IIS-Server gesendet:
HTTP 403.16: Das Clientzertifikat ist nicht vertrauenswürdig oder ungültig.
ODER
HTTP 403.7 : Clientzertifikat erforderlich.
Ursache
Die Symptome des Problems können je nach Konfiguration und Verwendung einer Zertifikatvertrauensliste (Certificate Trust List, CTL) auf dem IIS-Server variieren:
SZENARIO 1: HTTP 403.16-Fehler
Wenn IIS nicht für die Verwendung einer CTL konfiguriert ist, schlägt die SSL-Clientzertifikatauthentifizierung mit der Fehlerbedingung 403.16 fehl. Dieser Fehler tritt auf, weil SChannel.dll das Clientzertifikat fälschlicherweise als nicht vertrauenswürdig ansieht.
Hinweis
Wenn keine CTL verwendet wird, ist die Standardkonfiguration von IIS 8.0. Dies wird konfiguriert, indem weder
SendTrustedIssuerList
vorhanden noch von vorhanden istsetting SendTrustedIssuerList=0
.In diesem Szenario zeigt das IIS-Protokoll in der Regel den Wert 2148204809 im
sc-win32-status
Feld an. Dies wird in Fehlercode 0x800b0109 übersetzt, der alsCERT_E_UNTRUSTEDROOT
definiert ist.SZENARIO 2: HTTP 403.7-Fehler
Wenn Sie IIS für die Verwendung einer CTL (
SendTrustedIssuerList=1
) konfigurieren, schlägt die Clientzertifikatauthentifizierung mit der Fehlerbedingung 403.7 fehl. Dieser Fehler tritt auf, weil die von IIS gesendete CTL nicht das vertrauenswürdige Stammzertifikat für das Clientzertifikat des Benutzers enthält, daher kann internet Explorer dem Benutzer keine gültigen Clientzertifikate zur Auswahl präsentieren.
Problemumgehung
Um diese Probleme zu umgehen, deinstallieren Sie das nicht selbstsignierte Zertifikat aus dem Zertifikatspeicher Lokaler Computer -->Vertrauenswürdige Stammzertifizierungsstellen auf dem IIS-Server.
Weitere Informationen
Dieses Problem hat die gleiche Grundursache wie das in Lync Server beschriebene Problem: Lync Server 2013 Front-End Dienst kann in Windows Server 2012 nicht gestartet werden.
Sie können das im obigen Artikel bereitgestellte PowerShell-Skript verwenden, um die nicht selbstsignierten Zertifikate zu erkennen, die im Zertifikatspeicher für vertrauenswürdige Stammzertifizierungsstellen installiert sind .
Feedback
https://aka.ms/ContentUserFeedback.
Bald verfügbar: Im Laufe des Jahres 2024 werden wir GitHub-Issues stufenweise als Feedbackmechanismus für Inhalte abbauen und durch ein neues Feedbacksystem ersetzen. Weitere Informationen finden Sie unterFeedback senden und anzeigen für