Saltar al contenido

¿Deseas suscribirte al blog y recibir mis últimas actualizaciones? Haz click aquí.

Leer certificado o llave pública de SAT desde Linux

Hoy me ví en la necesidad de revisar la fecha de vencimiento de mi certificado del SAT (Servicio de Administración Tributaria, también conocido como el SATanás) pero estaba en mi Pixelbook con ChromeOS y aunque mi instinto natural fue darle doble click al archivo, el sistema me dijo que no entendía ese tipo de archivo. Afortunadamente, como ChromeOS corre Linux, pude leerlo desde la línea de comandos, de la siguiente manera.

Hay dos archivos que nos proveen para la mentada firma digital, que sigue el esquema de cifrado de dos vías, es decir, una llave pública, y una privada. El objetivo de este post no es explicar este u otros temas de encriptación por lo que basta decir que el certificado, o «Llave pública» es el archivo que tiene una terminación .cer y desde el cual podemos visualizar varios datos importantes, como la fecha de caducidad del mismo. Es importante renovar estas llaves antes de que venzan ya que una vez vencidas hay que ir físicamente a algún centro de atención del SAT.

Para visualizar la información desde la línea de comandos:

openssl x509 -inform der -in MiLlave.cer -noout -text

Donde MiLlave.cer es el nombre del certificado. El comando anterior le dice a OpenSSL que el formato en el que fue generado el certificado es DER y que queremos ver la representación de texto del mismo.

La salida de texto es bastante, si queremos ahorrarnos buscar entre todo el texto podemos simplificarlo con:

openssl x509 -inform der -in MiLlave.cer -noout -text | grep -i "not after"

Lo cual debería darnos una salida más o menos como esta:

Not After : Sep  2 06:07:55 2024 GMT

La cual es la fecha de caducidad del certificado / llave.

NOTA

Hay que tener instalado el binario de OpenSSL para utilizar dicha herramienta.

Publicado enHow-To

2 comentarios

  1. Hola gustavo, primero que nada muchas gracias, me ahorraste tiempo en dar con el comando indicado.

    Puedes evitar el uso del pipe y grep completamente si evitas usar -text y en su lugar utilizas la opción -enddate (adicionalmente yo también usé -startdate para ver ambas fechas de validez del certificado).

    Al final el comando quedaría así:
    $ openssl x509 -inform der -in MiLlave.cer -noout -enddate -startdate
    notAfter=Oct 16 20:08:11 2019 GMT
    notBefore=Oct 16 20:07:31 2015 GMT

    • Ohh, interesante, si, más simplificado. Gracias por el tip Marcos!

Deja una respuesta

Tu dirección de correo electrónico no será publicada.

Este sitio usa Akismet para reducir el spam. Aprende cómo se procesan los datos de tus comentarios.