HPDFVerifyHeadlessCMS

HPDFHeadlessCMS 使用 OpenSSL 3 與共用的簽章 ByteRange 驗證器,對呼叫端持有的 TStream 驗證 detached CMS 簽章

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

兩元素範圍必須涵蓋完整 stream;四元素範圍從 0 開始並排除一個非空區間,各對有序、有界且使用溢位安全的算術

CMS 必須含 detached 內容與至少一個簽署者;驗證器驗證內容摘要、已簽署屬性與每個簽署者,不對整個來源做彙總,接受尾隨零填充,拒絕非零的尾隨 CMS 資料

來源所有權屬於呼叫端、其位置會還原,驗證期間呼叫端必須提供獨佔的序列存取

SignatureValid 描述密碼學完整性;只有在 TrustedCAFile 提供明確 PEM 信任錨時,才另行評估憑證信任

RequireCAdES 要求已驗證的 ESS v1 或 v2 signing-certificate 綁定;其憑證雜湊與選填的發行者及序號必須識別實際簽署者,與憑證信任無關

即使 RequireCAdES 為 false,既有 ESS 屬性仍會被檢查;重複屬性、多值、格式錯誤序列與尾隨 ASN.1 位元組都會被拒;明確的信任錨可另啟一趟憑證鏈驗證

此函式驗證數值範圍,但不把排除區間綁定到 PDF Contents token;文件層級檢查請用 THPDFHeadlessDocument.VerifySignature

載入器在設定時使用 HOTPDF_OPENSSL_LIBRARY,否則 Linux 用 libcrypto.so.3、Windows 用 libcrypto-3.dll;runtime 程式庫必須符合處理程序架構,第一個成功載入的程式庫會持續生效到單元結束

格式錯誤的 CMS、預算、缺少 runtime 符號、來源讀取失敗與取消會丟出 EHPDFHeadlessCMSError;無效簽章與不受信任憑證鏈回傳明確的 false 結果欄位並附 OpenSSL 細節

此函式不抓取撤銷證據、信任錨、時間戳或遠端憑證資料,也不建立歷史簽署時間