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