Native RFC3161 timestamps
HPDFHeadlessTimestamp biedt native OpenSSL 3 request creation en geauthenticeerde RFC3161-response- en tokenverificatie op Linux en Windows
HPDFSignHeadlessCMS, SignToFile en SignPFXToFile hashen de echte CMS-signature-octets met SHA-256 en hangen de geverifieerde response-token aan als signatureTimeStampToken unsigned attribute
Configureer THPDFHeadlessCMSOptions.Timestamp.TrustedCAFile en Transport vóór het signeren, en zet RequireTimestamp wanneer een geauthenticeerde token verplicht is
Options := THPDFHeadlessCMSOptions.Default;
Options.TrustedCAFile := SignerTrustFile;
Options.RequireTimestamp := True;
Options.Timestamp.TrustedCAFile := TSATrustFile;
Options.Timestamp.TrustedCRLFile := TSACRLFile;
Options.Timestamp.RequireRevocation := True;
Options.Timestamp.Transport := RequestTimestamp;
Options.Timestamp.TransportContext := TransportContext;
Report := Document.SignPFXToFile(FieldIndex, OutputFile, IdentityPFX,
IdentityPassword, Options);
De transport in caller-eigendom ontvangt een complete DER TimeStampReq en geeft een complete DER TimeStampResp terug, zodat de aanroeper HTTP-authenticatie, TLS-policy, deadlines en annulering tijdens netwerk-I/O zelf stuurt
Requests bevatten verse cryptografische nonces en vragen de TSA-certificaten op; responses moeten zowel de request-nonce als de meegeleverde signature-waarde matchen
Verificatie authenticeert de complete CMS-token, checkt het TSA-certificaatpad en de critical timestamp EKU, verifieert de ESS signing-certificate-binding en controleert de SHA-256-, SHA-384- of SHA-512-messageImprint tegen de echte signature-octets met het algoritme dat TSTInfo meedraagt
RequireRevocation laadt het expliciete CRL-bestand en zet issuer-geverifieerde certificate revocation-checks aan; ontbrekend, verlopen of ingetrokken bewijs faalt in plaats van een trusted resultaat op te leveren
Bestaande tokens kunnen offline worden geverifieerd zonder de oorspronkelijke request-nonce; verse response-verificatie checkt daarnaast de oorspronkelijke request-nonce en response-status
Callbacks die al een imprint aanleveren
De ForImprint-functies accepteren een vooraf berekende SHA256-, SHA384- of SHA512-digest en diens THPDFHeadlessTimestampDigest-waarde, en bewaren die exacte digest-bytes in het RFC3161-request zonder ze opnieuw te hashen
Gebruik deze functies wanneer een signing-callback de messageImprint al aanlevert, inclusief de Windows THPDFCMSTimestampCallback; de raw-signature-request-helpers blijven SHA256 gebruiken, terwijl offline tokenverificatie de originele signature-octets hasht met het echt ondersteunde TSTInfo-algoritme
Token := HPDFRequestHeadlessTimestampForImprint(MessageImprint,
htdSHA384, TimestampOptions);
De imprint-lengte moet 32, 48 of 64 bytes zijn voor de gekozen digest; request-gebonden verificatie checkt daarnaast de originele verse nonce, digest OID, CMS-signature, TSA-certificaatbinding, expliciete trust roots, EKU en geconfigureerde revocation-bewijzen
Zie request creation, response verification, offline token verification, transport en digest values
Vertrouwde certificaat- en CRL-geldigheid wordt op verificatietijd beoordeeld, dus een gearchiveerde token waarvan het TSA-certificaat is verlopen heeft een archival validation policy en bewijs nodig in plaats van de huidige trust-checks te omzeilen
Misvormde tokens, dubbele timestamp-attributes, mismatchende imprints, onbekende roots, ongeldige EKU's, verlopen TSA-certificaten, ingetrokken TSA-certificaten, verlopen CRL's, response-budgetten en annulering worden gedekt door native en onafhankelijke acceptatietests
Timestamp-verificatierapporten staan los van document signer certificate trust; een signature-timestamp authenticeert geen latere niet-ondertekende PDF-revisies
Timestamp-functies laden hun OpenSSL timestamp-symbolen pas bij gebruik; zet HOTPDF_OPENSSL_LIBRARY indien nodig op een expliciete OpenSSL 3 shared library met matchende architectuur