Native RFC3161 timestamps

HPDFHeadlessTimestamp tillhandahåller nativ OpenSSL 3-förfråganskapande och autentiserad RFC3161-svars- och tokenverifiering på Linux och Windows

HPDFSignHeadlessCMS, SignToFile och SignPFXToFile hashar de faktiska CMS-signaturens oktetter med SHA-256 och fäster det verifierade svarettokenet som det osignerade signatureTimeStampToken-attributet

Konfigurera THPDFHeadlessCMSOptions.Timestamp.TrustedCAFile och Transport före signeringen, och sätt RequireTimestamp när en autentiserad token är obligatorisk

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);

Den anroparägda transporten tar emot en completa DER TimeStampReq och returnerar en completa DER TimeStampResp, vilket låter anroparen kontrollera HTTP-autentisering, TLS-policy, tidsgränser och avbrott under nätverks-I/O

Förfrågningar innehåller färska kryptografiska nonces och begär TSA-certifikaten; svar måste matcha både förfrågningsnoncen och det tillhandahållna signaturvärdet

Verifiering autentiserar den completa CMS-tokenen, kontrollerar TSA-certifikatvägen och kritisk tidsstämpel-EKU, verifierar ESS-signeringscertifikatbindning och kontrollerar SHA-256-, SHA-384- eller SHA-512-messageImprint mot de faktiska signaturoktetterna med algoritmen som TSTInfo bär

RequireRevocation läser den explicita CRL-filen och aktiverar utfärdarverifierad certifikatspärrkontroll; saknat, utgånget eller spärrat bevis misslyckas i stället för att ge ett betrodd resultat

Befintliga token kan verifieras offline utan den ursprungliga förfrågningsnoncen; färsk svarsverifiering kontrollerar dessutom den ursprungliga förfrågningsnoncen och svarsstatusen

Återanrop som redan tillhandahåller ett avtryck

ForImprint-funktionerna accepterar en förberäknad SHA256-, SHA384- eller SHA512-digest och dess THPDFHeadlessTimestampDigest-värde och bevarar sedan de exakta digestbyttena i RFC3161-förfrågan utan att hasha dem igen

Använd dessa funktioner när ett signeringsåteranrop redan tillhandahåller messageImprint, inklusive Windows THPDFCMSTimestampCallback; rå-signatur-förfråganshjälparna fortsätter att använda SHA256, medan offline-tokenverifiering hashar de ursprungliga signaturoktetterna med den faktiskt stödda TSTInfo-algoritmen

Token := HPDFRequestHeadlessTimestampForImprint(MessageImprint,
  htdSHA384, TimestampOptions);

Avtryckslängden måste vara 32, 48 eller 64 byte för den valda digesten; förfrågningsbunden verifiering kontrollerar dessutom den ursprungliga färska noncen, digest-OID, CMS-signatur, TSA-certifikatbindning, explicita förtroenderötter, EKU och konfigurerat spärrbevis

Se förfråganskapande, svarsverifiering, offline-tokenverifiering, transportoch digestvärden

Betrodd certifikat- och CRL-giltighet utvärderas vid verifieringstidpunkten, så en arkiverad token vars TSA-certifikat har utgått behöver en arkiveringsvalideringspolicy och bevis i stället för att kringgå aktuella förtroendekontroller

Felformade token, dubbletterade tidsstämpelattribut, felmatchade avtryck, okända rötter, ogiltiga EKU:er, utgångna TSA-certifikat, spärrade TSA-certifikat, utgångna CRL:er, svarsbudgetar och avbrott täcks av nativa och oberoende acceptanstester

Tidsstämpelverifieringsrapporter är skilda från dokumentsignerarens certifikatförtroende; en signaturtidsstämpel autentiserar inte senare osignerade PDF-revisioner

Tidsstämpelfunktioner läser in sina OpenSSL-tidsstämpelsymboler endast när de används; sätt HOTPDF_OPENSSL_LIBRARY till en explicit matchande-arkitektur OpenSSL 3-delat bibliotek vid behov