Preuves de validation de signatures natif
HPDFHeadlessLTV authentifie les chaînes de certificats et les preuves DER OCSP ou CRL avant qu'un document security store ne soit ajouté à un PDF signé
AddSignatureValidationEvidence vérifie les ByteRanges PDF d'origine, la signature CMS, la chaîne de signataire de confiance et l'horodatage de signature RFC3161 requis, puis contrôle la couverture de révocation de chaque certificat non ancre des chaînes de signataire et TSA
La vérification OCSP contrôle la signature, chaîne et autorisation du responder, les identifiants complets de certificat issuer-name et issuer-key, les numéros de série, le statut good, producedAt, thisUpdate, nextUpdate, et les fenêtres de fraîcheur configurées ; les réponses révoquées, inconnues, sans rapport, dupliquées, périmées, futures ou non authentifiées sont rejetées
La vérification CRL utilise un store isolé pour chaque liste d'issuers fournie et contrôle son issuer, sa signature, sa portée, sa fenêtre de validité et le statut de révocation des certificats ; une CRL plus ancienne chargée via une autre source ne peut pas remplacer les preuves réellement fournies
Le DSS du catalog contient des tableaux globaux Certs, OCSPs et CRLs, avec une entrée VRI référençant les preuves vérifiées pour la signature sélectionnée ; sa clé SHA-1 majuscule couvre la chaîne Contents complète, padding zéro réservé inclus, comme l'exige l'index VRI du PDF
SHA-1 n'est utilisé que pour l'index VRI prescrit ou un identifiant de certificat OCSP fourni ; il ne sélectionne ni le signataire PDF, ni le TSA, ni le responder, ni l'algorithme de signature de certificat
Le writer conserve les octets signés d'origine et les entrées DSS existantes et ajoute une révision incrémentale ; les sources Standard AES-256 conservent le chiffrement des streams de preuves nouvellement générés, sous réserve de la permission de modification ou de l'authentification owner
Les vérifications de trust et de preuves utilisent l'horloge de vérification courante ; cette API n'établit pas de validation historique après expiration des certificats ni n'ajoute d'horodatage de document protégeant les révisions DSS ultérieures
Les données DSS ajoutées après une signature sont hors du ByteRange de cette signature ; authentifiez indépendamment les preuves embarquées chaque fois qu'elles sont utilisées, et utilisez une signature ou un horodatage de document ultérieur quand une révision d'archivage authentifiée est requise
Comportement des ressources et des échecs
Les racines de confiance fournies explicitement par l'appelant sont obligatoires, et l'exigence d'horodatage vaut True par défaut ; initialisez THPDFHeadlessLTVOptions avec Default
Les limites d'octets, d'objets, de streams décodés, de sortie et d'annulation sont vérifiées avant la publication du graphe ; les preuves rejetées laissent le document inchangé et SaveToFile publie via le writer atomique existant
Acceptation
Run-HeadlessLTVTests.sh, Run-HeadlessLTVTests-Windows.cmd et Run-HeadlessLTVTests-Delphi.ps1 exercent de vraies réponses OpenSSL OCSP, CRL, CMS et RFC3161 locales sur Linux et Windows sans bureau ni lecteur PDF
Verify-HeadlessLTV.py vérifie indépendamment les signatures et identifiants de preuves avec cryptography, les références DSS/VRI avec pypdf, l'exception de chiffrement du Contents de signature avec MuPDF, et les ByteRanges PDF exacts avec OpenSSL