原生签名验证证据
HPDFHeadlessLTV 在把文档安全存储加入已签名 PDF 之前,先认证证书链与 DER OCSP 或 CRL 证据
AddSignatureValidationEvidence 校验原始 PDF ByteRange、CMS 签名、可信签名者链与必需的 RFC3161 签名时间戳,然后检查签名者链与 TSA 链中每个非锚点证书的吊销覆盖
OCSP 校验检查 responder 签名、链与授权、完整的颁发者名称/密钥证书标识、序列号、good 状态、producedAt、thisUpdate、nextUpdate 与配置的新鲜度窗口;revoked、unknown、无关、重复、过期、超前或未认证的响应都会被拒绝
CRL 校验为每个提供的颁发者列表使用隔离存储,检查其颁发者、签名、范围、有效期窗口与证书吊销状态;经其他来源加载的更旧 CRL 不能替代真实提供的证据
catalog DSS 包含全局 Certs、OCSPs 与 CRLs 数组,以及引用所选签名已验证证据的 VRI 条目;其大写 SHA-1 键覆盖完整 Contents 字符串(含保留零填充),符合 PDF VRI 索引要求
SHA-1 只用于规定的 VRI 索引或提供的 OCSP 证书标识;不用于选择 PDF 签名者、TSA、responder 或证书签名算法
写入器保留原始已签名字节与既有 DSS 条目并追加增量修订;Standard AES-256 源对新生成的证据流保留加密,取决于修改权限或所有者认证
信任与证据检查使用当前验证时钟;此 API 不在证书过期后建立历史校验,也不添加保护后续 DSS 修订的文档时间戳
签名之后添加的 DSS 数据在该签名的 ByteRange 之外;使用内嵌证据时都要独立认证;需要已认证归档修订时请用更晚的签名或文档时间戳
资源与失败行为
必须显式提供调用方信任根,时间戳要求默认 True;用 Default 初始化 THPDFHeadlessLTVOptions
字节、对象、解码流、输出与取消限制在对象图发布前检查;被拒绝的证据不改变文档,SaveToFile 通过既有原子写入器发布
验收
Run-HeadlessLTVTests.sh、Run-HeadlessLTVTests-Windows.cmd 与 Run-HeadlessLTVTests-Delphi.ps1 在 Linux 与 Windows 上演练真实 OpenSSL OCSP、CRL、CMS 与本地 RFC3161 响应,无需桌面或 PDF 阅读器
Verify-HeadlessLTV.py 用 cryptography 独立检查证据签名与标识、用 pypdf 检查 DSS/VRI 引用、用 MuPDF 检查签名 Contents 加密例外、用 OpenSSL 检查精确 PDF ByteRange