GNU/Linux >> Tutoriales Linux >  >> Linux

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

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 lo hará en los próximos N segundos), el -checkend <seconds> opción a openssl x509 te dirá:

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 fecha y la hora están configuradas 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: %s\n' \
      "$(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

Linux
  1. ¿Cómo verificar si el certificado SSL es SHA1 o SHA2 usando OpenSSL?

  2. ¿Cómo generar una clave CSR e instalar un certificado SSL desde CWP?

  3. Cómo aplicar un certificado SSL en Plesk

  4. Cómo crear un certificado SSL autofirmado en Ubuntu 18.04

  5. ¿Cómo obtener la fecha de vencimiento de la contraseña de usuario de Active Directory?

OpenSSL:compruebe la fecha de caducidad del certificado SSL y obtenga más información

¿Cómo instalar un certificado SSL en cPanel?

Cómo instalar un certificado SSL en cPanel

Cómo comprobar la fecha de caducidad de SSL en Plesk

Cómo comprobar la fecha de caducidad de un certificado TLS/SSL en Ubuntu

¿Cómo generar un certificado de openssl con vencimiento inferior a un día?