HPDFVerifyHeadlessCMS

HPDFHeadlessCMS verificerer detached CMS-signaturer mod en kalder-ejet TStream med OpenSSL 3 og den delte signatur ByteRange-validator

function HPDFVerifyHeadlessCMS(Source: TStream;
  const ByteRange: array of Int64; const CMSDER: SysUtils.TBytes;
  const Options: THPDFHeadlessCMSOptions): THPDFHeadlessCMSResult;

Et to-element interval skal dække hele streamen; et fire-element interval starter ved nul og ekskluderer ét ikke-tomt interval med ordnede, afgrænsede par og overflow-sikker aritmetik

CMS skal indeholde detached indhold og mindst én signer; verificatoren autentificerer indholdsdigest, signede attributter og hver signer uden helkilde-aggregering, accepterer afsluttende nul-padding og afviser nonzero afsluttende CMS-data

Kildeejerskab forbliver hos kalderen, dens position gendannes, og kalderen skal levere eksklusiv serial adgang under verifikationen

SignatureValid beskriver kryptografisk integritet; certifikattrust evalueres separat kun, når TrustedCAFile leverer eksplicitte PEM trust anchors

RequireCAdES kræver en autentificeret ESS v1- eller v2-signeringscertifikatbinding; dens certifikathash og valgfri issuer og serienummer skal identificere den faktiske signer uafhængigt af certifikattrust

Eksisterende ESS-attributter tjekkes, selv når RequireCAdES er false; duplikerede attributter, flere værdier, misdannede sekvenser og afsluttende ASN.1-bytes afvises, mens eksplicitte trust anchors muliggør et separat certifikatkæde-verifikationsgennemløb

Funktionen validerer de numeriske intervaller men binder ikke et ekskluderet gap til en PDF Contents-token; brug THPDFHeadlessDocument.VerifySignature til det dokumentniveau-tjek

Loaderen bruger HOTPDF_OPENSSL_LIBRARY, når den er sat, ellers libcrypto.so.3 på Linux eller libcrypto-3.dll på Windows; runtime-biblioteket skal matche procesarkitekturen, og det først succesfuldt indlæste bibliotek forbliver aktivt indtil unit-finalisering

Misdannet CMS, budgetter, manglende runtime-symboler, kilde-læsefejl og cancellation udløser EHPDFHeadlessCMSError; ugyldige signaturer og ubetroede certifikatkæder returnerer eksplicitte false-resultatfelter med OpenSSL-detaljer

Denne funktion henter ikke revocation-evidence, trust anchors, timestamps eller eksterne certifikatdata og etablerer ikke en historisk signeringstid