HPDFFinalizeHeadlessDocumentTimestampReservation

function HPDFFinalizeHeadlessDocumentTimestampReservation(Target: TStream;
  const Reservation: THPDFHeadlessSignatureReservation;
  const Options: THPDFHeadlessCMSOptions;
  out SignerCertificatePEM: SysUtils.TBytes): THPDFHeadlessCMSResult;

在调用方写完完整 PDF xref 和 trailer 之后,完成一个全新 DocumentTimestamp 预留的收尾

Target 必须保持可定位且可读写;预留必须来自 DocumentTimestamp 设为 true 的 HPDFWriteHeadlessSignatureReservation

补丁前函数会检查对象边界、间隙大小与定界符、数字槽位顺序以及全新的零填充范围槽位

它对实际打好补丁的 ByteRange 计算哈希,获取并验证全新的 RFC3161 TSA token,以零预留填充写入 token,然后立即做完整性检查

完整 token 必须放得进 ReservedCMSBytes,创建需要显式的可信 TSA 配置和 transport

SignerCertificatePEM 返回真实 TSA 身份,供发布前调用方做种子证书验证

无论成败流位置都会恢复;这个底层辅助函数不发布文件,也不独立实施文档签名字段策略

需要带真实继承签名种子、DocMDP、FieldMDP、加密和字段权限检查的原子发布时,使用 THPDFHeadlessDocument.TimestampToFile

文档时间戳工作流 · 选项