Pruebe gossl que permite especificar la fecha de inicio y la duración de la validez del certificado en varias unidades de tiempo.
Lo desarrollé para superar las limitaciones de la línea de comandos openssl. La herramienta es liviana, implementada en Go, sin dependencias, bajo licencia MIT.
Las opciones -startdate y -enddate para el comando x509 son opciones de visualización. Puede establecer una hora de inicio y finalización específica utilizando el comando ca en lugar de firmar el certificado.
Prueba algo como esto:
openssl ca -config /etc/openssl.cnf -policy policy_anything -out clientcert.pem -startdate 120815080000Z -enddate 120815090000Z -cert ca.pem -keyfile cakey.pem -infiles clientcert.csr
Paso-1. Instalar faketime
sudo apt-get install faketime
Paso 2. Generar certificado caducado un día antes de la fecha actual.
faketime 'last friday 5 pm' /bin/bash -c 'openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -days 6 -nodes'
Paso 3 Verifique la fecha de validez del certificado
openssl x509 -noout -text -in cert.pem
O aquí hay otra forma que he encontrado para trabajar
Digamos que quiero que mi certificado caduque en 10 minutos como prueba
La fecha actual es el 17 de febrero.
La hora actual es 16:40
Primero configuré la fecha de mi sistema en -1 día:16 de febrero
Configuré el reloj de mi sistema a +10 minutos:4:50 p. m.
Creo mi certificado usando openssl x509
caducará en 1 día, lo que realmente significa que caducará hoy Feb 17th
openssl x509 -req -days 1 -in clientcert.csr -signkey cert.key -out ssl.crt
Luego restablecí el reloj y la hora de mi sistema a la fecha y hora reales y listo, ¡tiene un certificado que expirará en 10 minutos!
Obviamente, no es la forma real de hacer las cosas, pero es agradable y fácil para crear certificados autofirmados para uso de desarrolladores.