Chequear fechas de expiración de un certificado SSL (.pem) con comandos de Linux

imagen-chequear-expiracion-ssl

Introducción

En el mundo digital actual, los certificados SSL son fundamentales para asegurar la comunicación entre los servidores y los clientes. Sin embargo, estos certificados tienen una fecha de expiración que es crucial monitorear para evitar interrupciones en los servicios. En este artículo, te mostraremos cómo verificar la fecha de expiración de tus certificados SSL en formato .pem y .cert utilizando comandos de Linux. Este proceso es esencial para administradores de sistemas y cualquier persona responsable de la seguridad de los sitios web.

¿Qué es un certificado SSL?

Un certificado SSL (Secure Sockets Layer) es un archivo de datos que vincula una clave criptográfica a los detalles de una organización. Cuando se instala en un servidor web, activa el candado y el protocolo HTTPS, asegurando la conexión entre el servidor y el navegador. Estos certificados tienen una vida útil limitada y deben ser renovados antes de su expiración para mantener la seguridad.

Comando para verificar la expiración de un certificado .pem

Para los certificados en formato .pem, usaremos el comando openssl x509. Este comando es parte de la suite de herramientas OpenSSL, que está disponible en la mayoría de las distribuciones de Linux. El formato .pem generalmente contiene el certificado en texto claro, incluyendo tanto el certificado público como las claves privadas (si las hay).

Ejemplo de comando

Desglose del comando:

  • openssl x509: Invoca la utilidad OpenSSL para trabajar con certificados X.509.
  • -in certificado.pem: Especifica el archivo de entrada (el certificado en formato .pem).
  • -noout: Suprime la salida de la versión completa del certificado.
  • -enddate: Muestra solo la fecha de expiración del certificado.

Ejemplo de salida:

Esta salida indica que el certificado expirará el 31 de diciembre de 2024 a las 23:59:59 GMT.

Verificar la expiración de un certificado .cert

Para los certificados en formato .cert, que pueden estar en un formato binario DER o en texto claro PEM, el proceso es similar. En este caso, asumimos que el archivo está en formato PEM.

Ejemplo de comando

Desglose del comando:

Este comando es prácticamente idéntico al anterior, ya que openssl x509 puede manejar tanto archivos .pem como .cert, siempre que el formato del certificado sea adecuado (PEM en este caso).

Ejemplo de salida

Esta salida muestra que el certificado expirará el 15 de julio de 2025 a las 12:00:00 GMT.

Convertir un certificado DER a PEM

Si tu certificado está en formato DER, primero necesitas convertirlo a PEM para poder usar el comando openssl x509. Aquí te mostramos cómo hacerlo.

Comando para conversión

Desglose del comando

  • -in certificado.der: Especifica el archivo de entrada en formato DER.
  • -inform der: Indica que el formato de entrada es DER.
  • -out certificado.pem: Especifica el archivo de salida en formato PEM.
  • -outform pem: Indica que el formato de salida debe ser PEM.

Verificar la expiración de certificados desde una URL

También puedes verificar la fecha de expiración de un certificado directamente desde una URL utilizando openssl s_client. Este método es útil para comprobar certificados de sitios web en vivo.

Ejemplo de comando

Desglose del comando

  • echo | openssl s_client -connect www.ejemplo.com:443: Establece una conexión SSL/TLS con el servidor en www.ejemplo.com a través del puerto 443.
  • 2>/dev/null: Suprime los mensajes de error.
  • | openssl x509 -noout -enddate: Pasa el certificado al comando openssl x509 para mostrar solo la fecha de expiración.

Ejemplo de salida

Esta salida muestra que el certificado del sitio web www.ejemplo.com expirará el 10 de marzo de 2026 a las 10:15:30 GMT.

Conclusión

Mantener un registro de las fechas de expiración de tus certificados SSL es esencial para asegurar una comunicación segura y continua en tus sitios web. Utilizando los comandos de Linux y OpenSSL descritos en este artículo, puedes fácilmente chequear y monitorear estas fechas para evitar cualquier interrupción no planificada. Asegúrate de incluir estos pasos en tu rutina de mantenimiento para garantizar que tus certificados siempre estén actualizados.

Deja un comentario