HPDFVerifyHeadlessCMS

HPDFHeadlessCMS verifieert detached CMS-signatures tegen een TStream in caller-eigendom met OpenSSL 3 en de gedeelde signature ByteRange-validator

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

Een bereik met twee elementen moet de complete stream dekken; een bereik met vier elementen begint op nul en sluit één niet-leeg interval uit, met geordende, begrensde paren en overflow-safe arithmetic

CMS moet detached content en ten minste één signer bevatten; de verifier authenticeert de content-digest, signed attributes en elke signer zonder whole-source-aggregatie, accepteert trailing zero padding en verwerpt niet-nul trailing CMS-data

Bron-eigendom blijft bij de aanroeper, diens positie wordt hersteld, en de aanroeper moet exclusieve seriële toegang bieden tijdens verificatie

SignatureValid beschrijft cryptografische integriteit; certificaatvertrouwen wordt apart beoordeeld, alleen wanneer TrustedCAFile expliciete PEM trust anchors aanlevert

RequireCAdES eist een geauthenticeerde ESS v1- of v2-signing-certificate-binding; diens certificaathash en optionele issuer en serienummer moeten de echte signer identificeren, onafhankelijk van certificaatvertrouwen

Bestaande ESS-attributes worden gecheckt zelfs wanneer RequireCAdES false is; dubbele attributes, meerdere waarden, misvormde sequenties en trailing ASN.1-bytes worden geweigerd, terwijl expliciete trust anchors een aparte certificaatketen-verificatiepass mogelijk maken

De functie valideert de numerieke bereiken maar bindt geen uitgesloten gap aan een PDF Contents-token; gebruik THPDFHeadlessDocument.VerifySignature voor die check op documentniveau

De loader gebruikt HOTPDF_OPENSSL_LIBRARY wanneer die staat, anders libcrypto.so.3 op Linux of libcrypto-3.dll op Windows; de runtime-library moet matchen met de procesarchitectuur, en de eerste succesvol geladen library blijft actief tot unit finalization

Misvormde CMS, budgetten, ontbrekende runtime-symbolen, bronleesfouten en annulering raisen EHPDFHeadlessCMSError; ongeldige signatures en niet-vertrouwde certificaatketens geven expliciete false-resultaatvelden terug met OpenSSL-details

Deze functie haalt geen revocation-bewijs, trust anchors, timestamps of externe certificaatdata op en legt geen historische signing-tijd vast