THPDFHeadlessDocument.TimestampToFile
function TimestampToFile(FieldIndex: Integer; const FileName: string;
const Options: THPDFHeadlessCMSOptions;
ReservedTimestampBytes: Integer = 16384): THPDFHeadlessCMSResult;
Crée un véritable horodatage de document dans un champ de signature non signé existant et publie atomiquement une sortie PDF incrémentale indépendante
FieldIndex est l'index de champ de formulaire à base zéro retourné par FindFormField ; il diffère de l'index de signatures peuplé accepté par VerifySignature
Le dictionnaire de sortie utilise Type DocTimeStamp et SubFilter ETSI.RFC3161, avec un véritable token d'horodatage DER dans sa réservation Contents non chiffrée
DigestMethod sélectionne SHA256, SHA384 ou SHA512 pour le ByteRange PDF exact couvert ; le writer corrige les plages numériques avant de demander le token
Timestamp.Transport doit retourner une véritable réponse RFC 3161, et Timestamp.TrustedCAFile doit identifier explicitement les racines TSA de confiance ; les TrustedCRLFile et RequireRevocation optionnels valident les CRL actuelles signées par l'émetteur
La réponse doit lier l'empreinte de message exacte et le nonce de requête frais, utiliser un certificat TSA approprié et une liaison ESS, et passer ses vérifications immédiates de signature, de but, de chaîne et de révocation configurée avant publication
Aucune clé de signature applicative ni certificat signataire n'est nécessaire ; les contraintes de certificats de signature requises évaluent le certificat TSA réellement authentifié et la chaîne de certificats embarquée
Les contraintes requises de seed de signature de handler, de SubFilter RFC3161, de digest, de raison, d'URL d'horodatage, de subject et issuer de certificats et d'apparence nommée courante restent effectives
Les vérifications authentifiées DocMDP et FieldMDP n'autorisent que les changements nécessaires à l'insertion d'un véritable horodatage de document, y compris l'insertion dans un champ de signature non signé existant sous P1 ou un verrou de champ ; cette exception standard ne permet pas une signature d'approbation ordinaire ni des changements de formulaire que la politique d'origine interdit
Les vérifications de modifications ultérieures authentifient l'horodatage, lient le champ et la signature à sa révision horodatée, et continuent de protéger le graphe d'objets certifié d'origine et les champs verrouillés
Pour une source antérieure au PDF 2.0, la sortie ajoute la déclaration d'extension ESIC avec BaseVersion 1.7 et ExtensionLevel 1 quand nécessaire, préserve les profils d'extension existants et promeut une version PDF effective plus ancienne via Catalog Version 1.7 sans altérer l'en-tête d'origine
Les champs read-only, les alias sources et les permissions de remplissage de formulaires AES restent appliqués ; une certification d'approbation incompatible, LegalAttestation, les profils Adobe de révocation signée et les références de transform FieldMDP d'horodatage sont rejetés
ReservedTimestampBytes est une capacité positive de token dans le budget d'objets du document ; le token complet doit tenir dans la réservation hexadécimale fixe
La création préserve les octets sources d'origine et la sécurité AES, garde les Contents de signature non chiffrés, chiffre les autres métadonnées selon la politique d'origine et laisse le graphe de champs chargé inchangé
Les échecs, l'annulation, les réponses invalides et les budgets insuffisants préservent toute destination existante et suppriment les fichiers de staging non publiés
Les tokens d'annulation du document, du CMS et de l'horodatage doivent concorder quand non nil ; les données couvertes sont lues par blocs d'au plus 64 Kio
Utilisez AddSignatureField et SetSignatureFieldAppearance pour préparer un nouveau widget d'horodatage, et VerifySignature pour authentifier l'horodatage de document résultant
TimestampCount vaut un et TimestampValid true après une création réussie ; CertificateTrusted et TimestampTrustEvaluated reflètent la passe explicite de trust TSA validée
Le profil d'extension suit la clause 5.6 de ETSI EN 319 142-1 ; les changements d'horodatage nécessaires suivent la clarification MDP de ISO 32000-2