THPDFHeadlessDocument.TimestampToFile
function TimestampToFile(FieldIndex: Integer; const FileName: string;
const Options: THPDFHeadlessCMSOptions;
ReservedTimestampBytes: Integer = 16384): THPDFHeadlessCMSResult;
Erzeugt einen echten Dokumentzeitstempel in einem bestehenden unsignierten Signaturfeld und veröffentlicht atomar einen unabhängigen inkrementellen PDF-Output
FieldIndex ist der nullbasierte Formularfeld-Index, den FindFormField liefert; er unterscheidet sich vom gefüllten Signatur-Index, den VerifySignature akzeptiert
Das Output-Dictionary nutzt Type DocTimeStamp und SubFilter ETSI.RFC3161 mit einem echten DER-Zeitstempel-Token in seiner unverschlüsselten Contents-Reservierung
DigestMethod wählt SHA256, SHA384 oder SHA512 für die exakt abgedeckte PDF-ByteRange; der Writer patcht die numerischen Bereiche, bevor das Token angefordert wird
Timestamp.Transport muss eine echte RFC-3161-Antwort liefern, und Timestamp.TrustedCAFile muss vertrauenswürdige TSA-Roots explizit identifizieren; optionales TrustedCRLFile und RequireRevocation validieren aktuelle issuer-signierte CRLs
Die Antwort muss den exakten Message-Imprint und die frische Anforderungs-Nonce binden, ein passendes TSA-Zertifikat und eine ESS-Bindung nutzen und ihre unmittelbaren Signatur-, Zweck-, Ketten- und konfigurierten Revocation-Prüfungen vor der Veröffentlichung bestehen
Kein Anwendungssignaturschlüssel oder Signer-Zertifikat ist nötig; erforderliche Signaturzertifikats-Beschränkungen bewerten das tatsächliche authentifizierte TSA-Zertifikat und die eingebettete Zertifikatskette
Erforderliche Signatur-Seed-Handler, RFC3161-SubFilter, Digest, reason, Zeitstempel-URL, Zertifikats-Subject und -Issuer sowie aktuelle benannte Appearance-Beschränkungen bleiben wirksam
Authentifizierte DocMDP- und FieldMDP-Prüfungen erlauben nur die Änderungen, die nötig sind, um einen echten Dokumentzeitstempel einzufügen, einschließlich des Einfügens in ein bestehendes unsigniertes Signaturfeld unter P1 oder einem Feld-Lock; diese Standard-Ausnahme erlaubt kein gewöhnliches Approval-Signieren und keine Formularänderungen, die die originale Policy verbietet
Spätere Modifikationsprüfungen authentifizieren den Zeitstempel, binden Feld und Signatur an seine mit Zeitstempel versehene Revision und schützen weiterhin den originalen zertifizierten Objektgraphen und gesperrte Felder
Bei einer Quelle vor PDF 2.0 fügt der Output bei Bedarf die ESIC-Extension-Deklaration mit BaseVersion 1.7 und ExtensionLevel 1 hinzu, bewahrt bestehende Extension-Profile und hebt eine ältere effektive PDF-Version über Catalog Version 1.7 an, ohne den originalen Header zu verändern
Schreibgeschützte Felder, Quell-Aliase und AES-Form-Fill-Berechtigungen bleiben durchgesetzt; inkompatible Approval-Zertifizierung, LegalAttestation, Adobe-signierte Revocation-Profile und Zeitstempel-FieldMDP-Transform-Referenzen werden abgelehnt
ReservedTimestampBytes ist eine positive Token-Kapazität innerhalb des Dokument-Objektbudgets; das vollständige Token muss in die feste hexadezimale Reservierung passen
Die Erzeugung bewahrt originale Quellbytes und AES-Security, hält Signatur-Contents unverschlüsselt, verschlüsselt andere Metadaten unter der originalen Policy und lässt den geladenen Feldgraphen unverändert
Fehler, Abbruch, ungültige Antworten und unzureichende Budgets bewahren jedes bestehende Ziel und entfernen unveröffentlichte Staging-Dateien
Dokument-, CMS- und Zeitstempel-Abbruchtoken müssen übereinstimmen, wenn nicht nil; abgedeckte Daten werden in Blöcken von höchstens 64 KiB gelesen
Nutze AddSignatureField und SetSignatureFieldAppearance, um ein neues Zeitstempel-Widget vorzubereiten, und VerifySignature, um den resultierenden Dokumentzeitstempel zu authentifizieren
TimestampCount ist eins und TimestampValid true nach erfolgreicher Erzeugung; CertificateTrusted und TimestampTrustEvaluated spiegeln den expliziten validierten TSA-Trust-Durchgang
Das Extension-Profil folgt ETSI EN 319 142-1, Abschnitt 5.6; notwendige Zeitstempeländerungen folgen der ISO 32000-2-MDP-Klarstellung