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 SendTrustedIssuerList vorhanden noch von setting SendTrustedIssuerList=0 .

    In diesem Szenario zeigt das IIS-Protokoll in der Regel den Wert 2148204809 im sc-win32-status Feld an. Dies führt zu einem Fehlercode 0x800b0109, der als definiert CERT_E_UNTRUSTEDROOT ist.

  • SZENARIO 2 – HTTP 403.7-Fehler

    Wenn Sie IIS für die Verwendung eines CTL ( ) konfigurieren, SendTrustedIssuerList=1 schlä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.