IIS puede rechazar solicitudes de certificado de cliente con errores HTTP 403.7 o 403.16

Este artículo le ayuda a resolver el problema en el que Internet Information Services (IIS) 8 puede rechazar solicitudes de certificado de cliente con errores HTTP 403.7 o 403.16.

Versión del producto original:   Internet Information Services
Número KB original:   2802568

Síntomas

Imagina la siguiente situación: Tiene una aplicación web de IIS 8 que está configurada para usar ssl y autenticación de certificado de cliente. Se instala un certificado que no está autofirmado, como un certificado de entidad de certificación intermedia, en el almacén de certificados De entidades de certificación raíz de confianza del equipo local --> en el servidor IIS. Cuando un usuario envía una solicitud HTTP a la aplicación web e intenta autenticarse con un certificado de cliente, el servidor IIS puede enviar uno de los siguientes mensajes de error como respuesta:

HTTP 403.16: el certificado de cliente no es de confianza o no es válido.

OR

HTTP 403.7: certificado de cliente obligatorio.

Causa

Los síntomas del problema pueden variar según la configuración y el uso de una lista de confianza de certificados (CTL) en el servidor IIS:

  • ESCENARIO 1: error HTTP 403.16

    Si IIS no está configurado para usar una CTL, la autenticación de certificados de cliente SSL producirá un error con la condición de error 403.16. Este error se produce porque SChannel.dll considera erróneamente que el certificado de cliente no es de confianza.

    Nota

    No tener CTL en uso es la configuración predeterminada de IIS 8.0. Esto se configura sin tener presente SendTrustedIssuerList o por setting SendTrustedIssuerList=0 .

    En este escenario, el registro de IIS normalmente muestra un valor de 2148204809 en el sc-win32-status campo. Esto se traduce en código de error 0x800b0109, que se define como CERT_E_UNTRUSTEDROOT .

  • ESCENARIO 2: error HTTP 403.7

    Si configura IIS para que use una CTL ( ), la autenticación de certificados de cliente falla con la condición de SendTrustedIssuerList=1 error 403.7. Este error se produce porque la CTL enviada por IIS no contiene el certificado raíz de confianza para el certificado de cliente del usuario, por lo que Internet Explorer no puede presentar al usuario ningún certificado de cliente válido para elegir.

Solución alternativa

Para evitar estos problemas, desinstale el certificado no autofirmado del almacén de certificados de entidades de certificación raíz de confianza del equipo local --> del servidor IIS.

Más información

Este problema tiene la misma causa raíz que el problema descrito en Lync Server: Lync Server 2013Front-End servicio no se puede iniciar en Windows Server 2012 .

Puede considerar el uso del script de PowerShell proporcionado en el artículo anterior para detectar los certificados no autofirmados instalados en el almacén de certificados de entidades de certificación raíz de confianza.