Files
bentopdf/docs/es/tools/validate-signature-pdf.md
T

6.4 KiB

title, description
title description
Validar Firma PDF Verifica las firmas digitales de archivos PDF. Comprueba la validez del certificado, la identidad del firmante, la integridad del documento y el estado de la cadena de confianza.

Validar Firma PDF

Sube un PDF firmado y esta herramienta extrae cada firma digital, identifica al firmante, comprueba la validez del certificado e informa de si el documento se ha modificado desde que se firmó. También puedes aportar un certificado de confianza para verificar la cadena de la firma.

Cómo funciona

  1. Sube un archivo PDF firmado. La validación comienza automáticamente.
  2. La herramienta muestra un resumen: número de firmas encontradas y cuántas son válidas.
  3. Cada firma tiene una tarjeta detallada con el nombre del firmante, el emisor, las fechas y el estado.
  4. Opcionalmente, sube un certificado de confianza (.pem, .crt, .cer, .der) para verificar la firma frente a un ancla de confianza concreta. La revalidación se ejecuta automáticamente.

Qué se comprueba

Análisis de la firma

La herramienta extrae los objetos de firma PKCS#7 del PDF, decodifica la estructura ASN.1 y obtiene el certificado X.509 del firmante junto con cualquier cadena de certificados incrustada en la firma.

Validez del certificado

  • Caducidad: ¿Está el certificado dentro de su periodo de validez actual?
  • Detección de autofirmado: ¿Es el certificado su propio emisor?
  • Cadena de confianza: Cuando se aporta un certificado de confianza, ¿enlaza con él el certificado del firmante?

Verificación criptográfica

  • La herramienta reconstruye los bytes cubiertos por el /ByteRange de la firma, calcula su hash con el algoritmo que declaró el firmante y compara el resultado con el atributo messageDigest incluido en la firma.
  • Después vuelve a serializar los atributos firmados como un SET DER y verifica la firma con la clave pública del certificado del firmante.
  • Una firma se considera válida solo cuando se superan todas estas comprobaciones. Si los bytes del PDF se modificaron después de la firma, o la firma incrustada no coincide con la clave del firmante, el estado muestra "Inválida: falló la verificación criptográfica" con el motivo concreto.

Algoritmos de firma admitidos

Algoritmo Ruta de verificación
RSA (PKCS#1 v1.5) node-forge publicKey.verify, con Web Crypto como alternativa
RSA-PSS (RSASSA-PSS) Web Crypto verify({name: 'RSA-PSS', saltLength})
ECDSA P-256/P-384/P-521 Web Crypto verify({name: 'ECDSA', hash}) tras la conversión de firma DER → IEEE P1363

Si una firma usa un algoritmo que no está en esta lista (por ejemplo Ed25519, SM2 o RSA con un OID de resumen poco habitual), la tarjeta muestra "Sin verificar: algoritmo de firma no admitido" en amarillo, junto con el OID o el motivo concretos. Se trata de una distinción deliberada de tres estados:

  • Válida: la firma se verificó criptográficamente con la clave pública del firmante.
  • Inválida: la verificación se ejecutó y dio un resultado negativo (bytes modificados, clave que no coincide).
  • Sin verificar: la herramienta no pudo ejecutar la verificación para este algoritmo. Los metadatos del certificado se siguen mostrando, pero debes tratar la firma como "desconocida" y verificarla con Adobe Acrobat o openssl cms -verify.

Algoritmos de resumen inseguros

  • Las firmas que usan MD5 o SHA-1 se rechazan como inválidas y se marcan con el estado "Resumen inseguro". Ambos algoritmos tienen ataques de colisión publicados, por lo que una firma sobre un hash SHA-1 o MD5 no ofrece ninguna garantía de integridad.
  • SHA-224, SHA-256, SHA-384 y SHA-512 se aceptan todos.

Cobertura del documento

  • Cobertura completa: la firma cubre todo el archivo PDF, es decir, no se añadió ni se cambió ningún byte después de la firma.
  • Cobertura parcial: la firma cubre solo una parte del archivo. Esto puede indicar que se hicieron modificaciones después de la firma (no necesariamente maliciosas: los guardados incrementales producen cobertura parcial).

Detalles de la firma

Cada tarjeta de firma muestra:

  • Firmado por: nombre común, organización y correo electrónico del certificado del firmante
  • Emisor: la autoridad de certificación que emitió el certificado del firmante
  • Firmado el: la marca de tiempo incrustada en la firma
  • Válido desde / Válido hasta: el periodo de validez del certificado
  • Motivo: por qué se firmó el documento (si se indica)
  • Ubicación: dónde se firmó (si se indica)
  • Estado de cobertura: completa o parcial
  • Insignia de confianza: De confianza o No está en la cadena de confianza (solo cuando se aporta un certificado propio)

Detalles técnicos

Despliega la sección de detalles técnicos para ver:

  • Número de serie del certificado del firmante
  • Algoritmo de resumen (SHA-256, SHA-512, etc.)
  • Algoritmo de firma (RSA con SHA-256, ECDSA con SHA-256, etc.)
  • Mensajes de error de las firmas inválidas

Casos de uso

  • Verificar un contrato firmado digitalmente antes de contrafirmarlo
  • Auditar documentos firmados para confirmar que no han sido manipulados
  • Comprobar si un certificado ha caducado desde que se firmó el documento
  • Validar firmas con el certificado raíz de tu organización
  • Inspeccionar los detalles de firma de documentos oficiales o legales

Consejos

  • Un certificado autofirmado no significa que la firma sea inválida: significa que la identidad del firmante no se puede verificar mediante un tercero de confianza. Es habitual en documentos internos.
  • La cobertura parcial no siempre indica manipulación. Muchos flujos de trabajo con PDF añaden actualizaciones incrementales (como una segunda firma) que crean cobertura parcial.
  • Sube el certificado raíz o intermedio de tu organización como certificado de confianza para obtener la verificación de la cadena de confianza.

Herramientas relacionadas