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