Es común que muchos archivos en formato PDF incluyen una firma digital para garantizar su autenticidad y veracidad de la información allí contenida. Típicamente es el caso de certificados, recibos y facturas, comprobantes de pago, etcétera. Este artículo muestra cómo verificar la firma digital de un archivo PDF desde línea de comandos en GNU/Linux.

La herramienta pdfsig (parte del paquete poppler-utils) verifica las firmas digitales contenidas dentro de un documento PDF. Además muestra le identidad de cada firma, junto con la fecha y hora de la misma.

Simplemente se debe pasar un nombre de archivo como parámetro a pdfsig:

emi@hal9000:~$ pdfsig Downloads/Certificado.pdf 
Digital Signature Info of: Downloads/Certificado.pdf
Signature #1:
  - Signer Certificate Common Name: FARRUGGIA Marcela Alejandra
  - Signer full Distinguished Name: CN=FARRUGGIA Marcela Alejandra,C=AR,serialNumber=CUIL 27218155729
  - Signing Time: Dec 05 2019 02:55:30
  - Signing Hash Algorithm: SHA1
  - Signature Type: adbe.pkcs7.sha1
  - Signed Ranges: [0 - 419], [8421 - 107807]
  - Total document signed
  - Signature Validation: Signature is Valid.
  - Certificate Validation: Certificate issuer is unknown.

En este ejemplo se observa que el archivo PDF contiene una firma digital y la firma es válida. Esto sifnifica que el documentao no ha sido alterado desde su creación. Sin embargo, no se confía en la autenticidad de la firma ya que el certificado con el que ha sido firmado el documento es desconocido.

Si el archivo que se pasa como parámetro no contiene ninguna firma, la salida es la siguiente:

emi@hal9000:~$ pdfsig Downloads/debian-handbook1.pdf
File 'Downloads/debian-handbook1.pdf' does not contain any signatures

Referencias

Compartí este artículo