Cuando montamos un entorno web con comprobación de certificados del cliente de la FNMT nos encontramos con que al configurar nuestro IIS para que solicite el certificado no funciona porque no puede comprobar la lista de revocación de certificados de la entidad emisora. Al no poder comprobarla se para el proceso. Si queremos evitar esta comprobación (puesto que cuesta dinero hacerla) en nuestro IIS podéis seguir los siguientes sencillos pasos:

1. En la consola ejecutamos el siguiente comando


netsh http show sslcert

Este comando nos mostrará un resultado como el siguiente:


Enlaces de certificado SSL:

---------------------------

IP:puerto : 0.0.0.0:443

Hash del certificado : 5c92adfea676f3867081f6579e586391cde60691

Id. de la aplicación : {4dc3e181-e14b-4a21-b022-59fc669b0914}

Nombre del almacén de certificados : MY

Comprobar revocación de certificado de cliente : Enabled

Comprobar revocación usando sólo el certificado de cliente almacenado en caché : Disabled

Comprobación de uso : Enabled

Hora de actualización de la revocación : 0

Tiempo de espera de recuperación de dirección URL: 0

Identificador de Ctl : (null)

Nombre del almacén de Ctl : (null)

Uso del asignador de DS : Disabled

Negociar certificado de cliente : Disabled

En la información que nos da aparece el apartado “Comprobar revocación de certificado de cliente” a Enabled. Debemos cambiar ese valor a Disabled para que no lo compruebe. Para ello ejecutamos las siguientes instrucciones.

2.  Eliminar la información de SSL para la aplicación

Lo primero es eliminar la información que dispone IIS sobre el estado SSL de la aplicación para después recrearla de nuevo con el parámetro cambiado. Antes de hacer nada es indispensable guardarse los valores de los apartados Hash de certificado e Id de aplicación puesto que los vamos a necesitar.


netsh http delete sslcert ipport=0.0.0.0:443

3. Recreamos el estado SSL con la comprobación desactivada

Ejecutamos el siguiente comando en el que le indicamos que el parámetro verifyclientcertrevocation sea disable.


netsh http add sslcert ipport=0.0.0.0:443 certhash=4bb683b8932675addcd9f6609e07b2a6b9c686dc appid={4dc3e181-e14b-4a21-b022-59fc669b0914} certstorename=MY verifyclientcertrevocation=disable

4. Comprobamos la configuración

Ejecutamos de nuevo el comando para comprobar que se ha modificado la configuración:


netsh http show sslcert

Tened en cuenta que tenéis que tener ya configurada vuestra aplicación en el IIS para que solicite los certificados de cliente antes de realizar estas instrucciones y que para cada aplicación variarán los parámetros certhash, appId e ipport.