Estoy usando Windows Server 2012 y IIS 8.5. He configurado SSL para el sitio web y la Configuración de SSL son: Requieren Necesarias y Requerir Certificados de Cliente.

El certificado de cliente que estoy enviando al servidor ha sido emitido por una auto-firmado autoridad (a la que llamó MyCompany CA). MyCompany CA certificado se ha instalado correctamente en la Cuenta de Equipo Local – emisoras Raíz de Confianza. Es la fecha de vencimiento es 2039, por lo que es el cliente de la fecha de caducidad del certificado.

Sin embargo, con toda esta configuración, estoy recibiendo un error 403.16 como resultado. He habilitado el Seguimiento de solicitudes con Error Normas y logró registro de una petición errónea y tiene algunos detalles extra sobre:

52.- MODULE_SET_RESPONSE_ERROR_STATUS – Advertencia
ModuleName – IIS Web principal
Notificación – BEGIN_REQUEST
HttpStatus – 403
HttpReason – Prohibido
HttpSubStatus – 16
ErrorCode – Un certificado de la cadena de procesado, pero termina en un certificado raíz que no es de confianza por el proveedor de confianza. (0x800b0109)
ConfigExceptionInfo

Lo he comprobado en varios sitios sobre el resultado 403.16 y el código de error 0x800b0109 y todos los puntos a la autoridad de certificación no se ha instalado en un Equipo Local de Certificación Raíz de Confianza a las Autoridades, pero ese no es mi caso.

Gracias!

OriginalEl autor Javier Holguera | 2014-12-01

3 Comentarios

  1. 46

    He estado trabajando en esto durante mucho tiempo y finalmente lo encontró!

    Agregar una nueva clave HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
    Nombre de valor: ClientAuthTrustMode
    Tipo de valor: REG_DWORD
    Datos de valor: 2

    De actualización de la página web, seleccione el certificado y ver la magia suceda.

    Investigación

    El uso de Windows 8 y de IIS 8.5 he seguido las instrucciones aquí http://itq.nl/testing-with-client-certificate-authentication-in-a-development-environment-on-iis-8-5/.

    Certificados fueron creados en el lugar correcto y todo lo configurado en IIS correctamente, pero yo seguía recibiendo 403.16 errores.

    Después de los muchos artículos de MSDN y otros intentos fallidos me encontré con la siguiente configuración del registro.

    Establecer HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
    Nombre de valor: ClientAuthTrustMode
    Tipo de valor: REG_DWORD
    Datos de valor: 2

    Establecer HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\SCHANNEL
    Nombre de valor: SendTrustedIssuerList
    Tipo de valor: REG_DWORD
    Datos de valor: 0 (Falso, o eliminar esta clave totalmente)

    Aquí hay más información acerca de esta configuración específica (que se encuentra aquí: http://technet.microsoft.com/en-us/library/hh831771.aspx)

    Valores predeterminados para los Modos de Confianza
    Hay tres Autenticación de Cliente la Confianza de los Modos soportados por el proveedor de Schannel. El modo de confianza de los controles de cómo la validación del certificado del cliente de la cadena se realiza y es una configuración de todo el sistema controlado por el REG_DWORD «ClientAuthTrustMode» en HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\SecurityProviders\Schannel.

    0 Confianza del equipo (por defecto)
    Requiere que el cliente certificado es emitido por un certificado en la Confianza de los Emisores de la lista.

    1 De Exclusiva Confianza De Raíz
    Requiere un certificado de cliente cadenas a un certificado raíz contenida en la llamada especificado por el emisor de confianza de la tienda. El certificado debe también ser emitidos por un emisor en la Confianza de los Emisores de la lista de

    2 Exclusivo de la CA de Confianza
    Requiere un certificado de cliente de la cadena a un certificado de CA intermedia o certificado raíz en la llamada especificado por el emisor de confianza de la tienda.
    Para obtener información acerca de la autenticación de errores debido a la confianza de los emisores de los problemas de configuración, consulte el artículo de Knowledge Base 280256.

    Espero que esto funcione para usted así.

    Después de la adición de un certificado de Autenticación de Cliente Emisores de la tienda, tuve que reiniciar. YMMV.
    Además de esta respuesta para arreglar mi problema en el 2012, me di cuenta de que necesitaba hacer esto en mi Windows Server 2008 R2 / IIS 7.5 así. Con base en la descripción del problema y el hecho de que en la caja estaba recibiendo 403.7 en lugar de 403.16 yo no creo que podría hacer una diferencia, pero lo hizo. Gracias!
    ClientAuthTrustMode tipo de Valor: REG_DWORD información del Valor: 2 -No funciona en Windows 2012 R2 para mí. Todavía 403.16 error

    OriginalEl autor Brett

  2. 3

    He probado la solución que propuso anteriormente y funciona bien.

    Una solución alternativa que no implica la modificación del registro:

    https://support.microsoft.com/en-us/help/2795828/lync-server-2013-front-end-service-cannot-start-in-windows-server-2012

    El punto principal de este artículo es eliminar todos los no-certificados de firma de la Confianza del Equipo Local de la carpeta Raíz.

    Si el uso de directivas de grupo para implementar certificados, asegúrese de que las entidades emisoras Raíz de Confianza de la tienda sólo contiene certificados autofirmados (certificados en los que el certificado de propiedad «Sujeto» es el mismo que el certificado de propiedad de «el Emisor»). Mover todos los certificados que no son auto-firmado los certificados de entidades emisoras Raíz de Confianza de la tienda para el Intermedio almacén de entidades de Certificación.

    Si usted importación de nuevos certificados manualmente, asegúrese de que usted seleccione el
    del equipo de Certificación Raíz de Confianza de las Autoridades de la tienda para la
    los certificados auto-firmados, y el equipo del Intermedio
    Almacén de entidades de certificación de los certificados que no son
    los certificados auto-firmados.

    Usted puede encontrar toda la no-ser certificados firmados por el uso de la secuencia de comandos de Powershell:

    Get-Childitem cert:\LocalMachine\root -Recurse | Where-Object {$_.Issuer -ne $_.Subject} | Format-List * | Out-File "c:\computer_filtered.txt"
    

    Mover los certs para el Intermedio de Certificación de las Autoridades de la carpeta en la mmc.

    Bonita respuesta en líneas similares en stackoverflow.com/a/35001970/237568 también incluye un PowerShell línea para mover el no-certificados autofirmados para el Intermedio de las Autoridades de Certificación de la carpeta 🙂

    OriginalEl autor zakmyster

  3. 1

    Tuve que reiniciar el servidor para obtener la ClientAuthTrustMode configuración se aplique.

    OriginalEl autor dezdez

Dejar respuesta

Please enter your comment!
Please enter your name here