Evidencia de validación de firmas nativa
HPDFHeadlessLTV autentica cadenas de certificados y evidencia OCSP o CRL en DER antes de agregar un document security store a un PDF firmado
AddSignatureValidationEvidence verifica los ByteRanges originales del PDF, la firma CMS, la cadena de firmantes de confianza y el timestamp de firma RFC3161 requerido, y luego comprueba la cobertura de revocación de cada certificado no ancla en las cadenas del firmante y de la TSA
La verificación OCSP comprueba la firma del responder, su cadena y autorización, los identificadores completos de certificado por 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, stale, futuras o no autenticadas se rechazan
La verificación CRL usa un store aislado por cada lista de issuer suministrada y comprueba su issuer, firma, scope, ventana de validez y estado de revocación de certificados; una CRL más antigua cargada por otra fuente no puede reemplazar la evidencia real suministrada
El DSS de catálogo contiene arreglos 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 se usa solo para el índice VRI prescrito o un identificador de certificado OCSP suministrado; no selecciona el algoritmo de firma del firmante PDF, la TSA, el responder ni el certificado
El writer conserva los bytes firmados originales y las entradas DSS existentes y agrega una revisión incremental; los orígenes Standard AES-256 conservan el cifrado para los streams de evidencia recién generados, sujetos al permiso de modificación o a la autenticación de owner
Las verificaciones de trust y evidencia usan el reloj de verificación actual; esta API no establece validación histórica tras la expiración del certificado ni agrega un timestamp de documento que proteja revisiones DSS posteriores
Los datos DSS agregados después de una firma quedan fuera del ByteRange de esa firma; autentica de forma independiente la evidencia embebida cada vez que se use, y usa una firma posterior o un timestamp de documento cuando se requiera una revisión de archivo autenticada
Comportamiento de recursos y fallos
Las raíces de trust suministradas explícitamente por el llamador son obligatorias, y el requerimiento de timestamp es True por defecto; inicializa THPDFHeadlessLTVOptions con Default
Los límites de bytes, objetos, streams decodificados, salida y cancelación se verifican 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 reales de OCSP, CRL, CMS y RFC3161 local de OpenSSL 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 exactos del PDF con OpenSSL