HPDFSignHeadlessCMS

function HPDFSignHeadlessCMS(Source: TStream;
  const ByteRange: array of Int64;
  const CertificatePEM, PrivateKeyPEM: SysUtils.TBytes;
  const Options: THPDFHeadlessCMSOptions): SysUtils.TBytes;

函数使用 OpenSSL 3 以显式 PEM 证书和未加密 PEM 私钥对声明的源范围签名,返回带 detached 内容的 DER CMS SignedData,并恢复调用方的源位置

源经与验证器相同的有界 BIO 增量读取;PEM 输入和生成的 DER 必须符合 MaxCMSBytes,签名范围必须符合 MaxSignedBytes

RequireCAdES 在 CMS 生成期间加入 ESS 签名证书特性;需要 CAdES 验证时,用显式可信 CA 文件验证结果

私钥保持为调用方所有的字节数组;OpenSSL 密钥对象在签名后释放,函数绝不提示输入密钥密码

加密 PEM 密钥、证书/密钥不匹配、非法范围、取消、运行时错误和输出超限都会抛出 EHPDFHeadlessCMSError

该原语只生成 CMS;不创建 PDF 签名字段,不预留 PDF Contents 空间,不发布已签名 PDF,也不联系时间戳或吊销服务