Share via


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 ist setting 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 als CERT_E_UNTRUSTEDROOTdefiniert 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 .