HPDFVerifyHeadlessDocumentTimestamp
function HPDFVerifyHeadlessDocumentTimestamp(Source: TStream;
const ByteRange: array of Int64; const TokenDER: SysUtils.TBytes;
const Options: THPDFHeadlessCMSOptions): THPDFHeadlessCMSResult;
Authentifiziert einen echten gekapselten RFC3161-Dokument-Timestamp und bindet seinen signierten Message Imprint an die exakt abgedeckten Quellbytes
Integrität verlangt stets einen echten TSA-Signer, die kryptografische CMS-Signatur und den signierten Content-Digest, authentifizierte ESS-Zertifikatsbindung, exklusive kritische timeStamping-EKU, kompatible Key Usage, TSTInfo Version 1 und jeden enthaltenen TSA-Signer-Namen
Der Imprint-Algorithmus wird aus authentifiziertem TSTInfo gelesen und unterstützt SHA256, SHA384 und SHA512 mit fehlenden oder NULL-Algorithmusparametern
TokenDER darf nach seinem vollständigen DER-Token nur Nullbytes enthalten; MaxCMSBytes begrenzt die vollständige Eingabe, einschließlich Reservierungs-Padding
Default-Optionen bewerten echte Integrität ohne eine Zertifikats-Trust-Aussage; TimestampValid beschreibt den authentifizierten Timestamp-Imprint und impliziert keinen Zertifikats-Trust
Eine gelieferte Timestamp.TrustedCAFile, RequireTimestamp oder Timestamp.RequireRevocation ruft eine explizite RFC-3161-Zertifikatsketten- und konfigurierte Revocation-Verifikation auf; gewöhnliches TrustedCAFile ist Approval-Signaturen vorbehalten
UseAdobeRevocationInfo verlangt zusätzlich, dass der TSA-CMS-Signer ein echtes signiertes Adobe-Revocation-Information-Attribut trägt, mit RevocationValidation.TrustedCAFile, das seine eingebettete CRL- oder OCSP-Evidenz und die vollständige Signerkettenabdeckung explizit authentifiziert
Diese Anforderung setzt RevocationInfoEvaluated und RevocationInfoValid bei Erfolg und wirft EHPDFHeadlessCMSError für fehlende, missgebildete, widerrufene, abgelaufene, unvollständige oder nicht vertrauenswürdige Evidenz; gewöhnliche TSA-CRL-Verifikation ersetzt nicht das erforderliche signierte Attribut
Das gekapselte RFC-3161-Token selbst erfüllt die Timestamp-Anforderung bei der Validierung seiner eingebetteten Evidenz, ohne ein zusätzliches unsigniertes Signatur-Timestamp-Attribut zu verlangen
Die historische Offline-Verifikation behauptet nicht, dass eine Request-Nonce frisch erzeugt wurde; die Erzeugung prüft die echte Antwort gegen ihre frische Anfrage
Die Quellposition wird wiederhergestellt, Lesevorgänge sind auf 64 KiB begrenzt, MaxSignedBytes begrenzt abgedeckte Bytes, und Abbruch bleibt während des Hashens beobachtbar
SignedRevisionLength und UnsignedTrailingBytes identifizieren die abgedeckte Revision und nachfolgende Bytes; BytesRead meldet den tatsächlichen abgedeckten Hash-Input
Der Dokument-Wrapper validiert zusätzlich DocTimeStamp-/ETSI.RFC3161-Dictionary-Typen, verbotene Einträge und die exakte ausgeschlossene hexadezimale oder literale Contents-Zeichenkette