IIS kann Clientzertifikatsanforderungen mit HTTP 403.7- oder 403.16-Fehlern ablehnen.
Dieser Artikel hilft Ihnen, das Problem zu beheben, bei dem Internetinformationsdienste (IIS) 8 Clientzertifikatsanforderungen mit HTTP 403.7- oder 403.16-Fehlern ablehnen kann.
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 für vertrauenswürdige Stammzertifizierungsstellen auf dem IIS-Server > lokalen Computer. Wenn ein Benutzer dann eine HTTP-Anforderung an die Webanwendung sendet und versucht, sich mit einem Clientzertifikat zu authentifizieren, kann eine der folgenden Fehlermeldungen vom IIS-Server als Antwort gesendet werden:
HTTP 403.16 – Clientzertifikat ist nicht vertrauenswürdig oder ungültig.
OR
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 betrachtet.
Hinweis
Die Verwendung von CTL ist die Standardkonfiguration von IIS 8.0. Dies wird konfiguriert, indem weder
SendTrustedIssuerListvorhanden noch vonsetting SendTrustedIssuerList=0.In diesem Szenario zeigt das IIS-Protokoll in der Regel den Wert 2148204809 im
sc-win32-statusFeld an. Dies führt zu einem Fehlercode 0x800b0109, der als definiertCERT_E_UNTRUSTEDROOTist.SZENARIO 2 – HTTP 403.7-Fehler
Wenn Sie IIS für die Verwendung eines CTL ( ) konfigurieren,
SendTrustedIssuerList=1schlägt die Clientzertifikatauthentifizierung mit der Fehlerbedingung 403.7 fehl. Dieser Fehler tritt auf, weil das 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 selbstsigniert Zertifikat vom lokalen Computer – > Zertifikatspeicher für vertrauenswürdige Stammzertifizierungsstellen auf dem IIS-Server.
Weitere Informationen
Dieses Problem hat die gleiche Ursache wie das in Lync Server beschriebene Problem: Lync Server 2013 Front-End Dienst kann nicht in Windows Server 2012 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.