Emitir Certificados con más de 2 años de validez en una CA en Windows (es-ES)
Seguramente muchos de vosotros hayáis instalado en algún momento una Entidad Certificadora en Windows (Windows Server 2012, Instalación de una CA), y si sois administradores de Lync seguro que lo habréis hecho en cada implementación. Pero no solo para Lync, sino para una red con autenticación 802.1x (NPS: Autenticación 802.1X Red Cableada, NPS: Autenticación 802.1x para nuestra red inalámbrica), VPN vía SSTP (Windows Server 2012, Configuración VPN con SSTP), VPN entre dispositivos de Seguridad (Cisco VPN IPSec Site-to-Site con Certificados Digitales), inicios de sesión mediante tarjetas inteligentes y otros muchos usos. En alguna ocasión hemos querido ampliar la vigencia de un certificado, aunque no sea una excelente práctica de seguridad, pero en ocasiones necesitamos que un certificado tenga una vigencia superior a 2 años.
Lo primero que pensamos es en duplicar alguna de las plantillas que queremos emitir, y configurar la caducidad en función de nuestras necesidades. Una vez configurada la nueva plantilla, debemos emitirla para que esté disponible para que podamos solicitar el certificado en cuestión. Pero el problema es que cuando creyendo que ya tenemos nuestro certificado emitido para 5 años, como podemos apreciar en las siguiente imagen vemos que el certificado realmente tiene dos años de vigencia
Debemos tener en cuenta que un certificado debe tener una vigencia menor en función de:
- Tiempo de vida restante del certificado raíz de la CA
- Período de validez inferior establecido en la plantilla
- El valor especificado en el registro de nueva CA
Hay cosas que caen por su propio peso, como son las dos primeras opciones, pero en muchas ocasiones desconocemos el valor en años que tiene por defecto para todos los certificados emitidos por la CA. Si queremos ver el valor de registro en donde nos muestra el número de años de validez de un certificado, tenemos el siguiente comando:
certutil -getreg ca\ValidityPeriodUnits
Si ahora queremos cambiar este valor 2 a más años, debemos ejecutar el siguiente comando:
certutil -setreg ca\ValidityPeriodUnits 5
Para que estos cambios se hagan efectivos debemos reiniciar el servicio CertSvc, y posteriormente podemos emitir un certificado con la plantilla la cual hemos modificado la vigencia del mismo y ya obtendríamos un certificado con la duración especificada en la plantilla. Claramente, siempre y cuando el valor del registro que hemos establecido sea igual o superior al especificado en la plantilla del certificado, porque si el valor de la plantilla es de 6 años el certificado se crearía con 5 años (en función de nuestro ejemplo). Esto es por lo comentado antes, la vigencia del certificado siempre debe ser menor que alguna de las opciones comentadas anteriormente.
Como vemos el poder tener certificados con una vegencia superior a 2 años es bastante sencillo, creamos una plantilla con la vigencia deseada teniendo en cuenta que debemos tener el certificado raiz y el registro con valores de vigencia superiores a la plantilla.