Saltar al contenido

¿Cómo determinar la fecha de caducidad del certificado SSL a partir de un certificado codificado con PEM?

Te recomendamos que revises esta resolución en un ambiente controlado antes de pasarlo a producción, un saludo.

Solución:

Con openssl:

openssl x509 -enddate -noout -in file.pem

La salida está en el formulario:

notAfter=Nov  3 22:23:50 2014 GMT

Consulte también la respuesta de MikeW sobre cómo comprobar fácilmente si el certificado ha caducado o no, o si lo hará dentro de un período de tiempo determinado, sin tener que analizar la fecha anterior.

Si solo desea saber si el certificado ha caducado (o si lo hará en los próximos N segundos), el -checkend opción a openssl x509 Te contaré:

if openssl x509 -checkend 86400 -noout -in file.pem
then
  echo "Certificate is good for another day!"
else
  echo "Certificate has expired or will do so within 24 hours!"
  echo "(or is invalid/not found)"
fi

Esto ahorra tener que hacer comparaciones de fecha/hora usted mismo.

openssl devolverá un código de salida de 0 (cero) si el certificado no ha caducado y no lo hará durante los próximos 86400 segundos, en el ejemplo anterior. Si el certificado habrá caducado o ya lo ha hecho, o algún otro error como un archivo no válido o inexistente, el código de retorno es 1.

(Por supuesto, se supone que la hora/fecha está configurada correctamente)

Tenga en cuenta que las versiones anteriores de openssl tienen un error, lo que significa que si el tiempo especificado en checkend es demasiado grande, siempre se devolverá 0 (https://github.com/openssl/openssl/issues/6180).

Aquí está mi línea de comando bash para enumerar varios certificados en orden de vencimiento, el más reciente que expira primero.

for pem in /etc/ssl/certs/*.pem; do 
   printf '%s: %sn' 
      "$(date --date="$(openssl x509 -enddate -noout -in "$pem"|cut -d= -f 2)" --iso-8601)" 
      "$pem"
done | sort

Salida de muestra:

2015-12-16: /etc/ssl/certs/Staat_der_Nederlanden_Root_CA.pem
2016-03-22: /etc/ssl/certs/CA_Disig.pem
2016-08-14: /etc/ssl/certs/EBG_Elektronik_Sertifika_Hizmet_S.pem

Valoraciones y comentarios

Eres capaz de confirmar nuestra tarea exponiendo un comentario y dejando una valoración te damos la bienvenida.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)



Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *