Si tengo el archivo real y un shell Bash en Mac o Linux, ¿cómo puedo consultar el archivo de certificado para saber cuándo caducará? No es un sitio web, sino el archivo del certificado en sí, suponiendo que tenga los archivos csr, key, pem y chain.
Con openssl :
openssl x509 -enddate -noout -in file.pemLa salida está en el formulario:
notAfter=Nov 3 22:23:50 2014 GMTConsulte 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), la -checkend <seconds> de openssl x509 le 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)" fiEsto 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: %s\n' \ "$(date --date="$(openssl x509 -enddate -noout -in "$pem"|cut -d= -f 2)" --iso-8601)" \ "$pem" done | sortSalida 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