Evidencia de validación de firmas nativa

HPDFHeadlessLTV autentica cadenas de certificados y evidencia DER OCSP o CRL antes de añadir un document security store a un PDF firmado

AddSignatureValidationEvidence verifica los ByteRanges PDF originales, la firma CMS, la cadena de firmante de trust y el timestamp de firma RFC3161 requerido, y luego comprueba la cobertura de revocación de cada certificado no ancla de las cadenas del firmante y de la TSA

La verificación OCSP comprueba la firma, cadena y autorización del responder, los identificadores completos de certificado issuer-name e issuer-key, los números de serie, el estado good, producedAt, thisUpdate, nextUpdate y las ventanas de frescura configuradas; las respuestas revoked, unknown, no relacionadas, duplicadas, caducadas, futuras o no autenticadas se rechazan

La verificación CRL usa un store aislado para cada lista de issuers suministrada y comprueba su issuer, firma, alcance, ventana de validez y estado de revocación de certificados; una CRL más antigua cargada por otra fuente no puede sustituir la evidencia suministrada real

El DSS del catálogo contiene arrays globales Certs, OCSPs y CRLs, con una entrada VRI que referencia la evidencia verificada de la firma seleccionada; su clave SHA-1 en mayúsculas cubre la cadena Contents completa, incluido el padding de ceros reservado, como exige el índice VRI del PDF

SHA-1 solo se usa para el índice VRI prescrito o un identificador de certificado OCSP suministrado; no selecciona el firmante PDF, la TSA, el responder ni el algoritmo de firma de certificados

El writer conserva los bytes firmados originales y las entradas DSS existentes y añade una revisión incremental; los orígenes Standard AES-256 conservan el cifrado para los streams de evidencia recién generados, sujeto al permiso de modificación o a la autenticación de propietario

Las comprobaciones de trust y evidencia usan el reloj de verificación actual; esta API no establece validación histórica tras la caducidad del certificado ni añade un timestamp de documento que proteja revisiones DSS posteriores

Los datos DSS añadidos tras una firma quedan fuera del ByteRange de esa firma; autentica de forma independiente la evidencia incrustada cada vez que se use, y usa una firma posterior o un timestamp de documento cuando se exija una revisión de archivo autenticada

Comportamiento de recursos y fallos

Las raíces de trust suministradas explícitamente por el llamante son obligatorias, y el requisito de timestamp vale True por defecto; inicializa THPDFHeadlessLTVOptions con Default

Los límites de bytes, objetos, streams decodificados, salida y cancelación se comprueban antes de publicar el grafo; la evidencia rechazada deja el documento sin cambios y SaveToFile publica a través del writer atómico existente

Aceptación

Run-HeadlessLTVTests.sh, Run-HeadlessLTVTests-Windows.cmd y Run-HeadlessLTVTests-Delphi.ps1 ejercitan respuestas OpenSSL OCSP, CRL, CMS y RFC3161 locales reales en Linux y Windows sin escritorio ni lector PDF

Verify-HeadlessLTV.py comprueba de forma independiente las firmas e identificadores de la evidencia con cryptography, las referencias DSS/VRI con pypdf, la excepción de cifrado del Contents de la firma con MuPDF y los ByteRanges PDF exactos con OpenSSL