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