THPDFHeadlessDocument.TimestampToFile
function TimestampToFile(FieldIndex: Integer; const FileName: string;
const Options: THPDFHeadlessCMSOptions;
ReservedTimestampBytes: Integer = 16384): THPDFHeadlessCMSResult;
在既有未签名签名字段中创建真实文档时间戳,并以原子方式发布独立的增量 PDF 输出
FieldIndex 是 FindFormField 返回的从零计表单字段索引;它与 VerifySignature 接受的已填充签名索引不同
输出字典使用 Type DocTimeStamp 和 SubFilter ETSI.RFC3161,其未加密 Contents 预留区中是真实 DER 时间戳令牌
DigestMethod 为精确覆盖的 PDF ByteRange 选择 SHA256、SHA384 或 SHA512;写入器在请求令牌前修补数字范围
Timestamp.Transport 必须返回真实 RFC 3161 响应,Timestamp.TrustedCAFile 必须显式指定可信 TSA 根;可选 TrustedCRLFile 与 RequireRevocation 验证当前由签发者签名的 CRL
响应必须绑定精确 message imprint 和新鲜请求 nonce,使用合适的 TSA 证书与 ESS 绑定,并在发布前通过即时的签名、用途、链和配置吊销检查
不需要应用签名密钥或签名者证书;必需的签名证书约束针对实际经认证的 TSA 证书和嵌入证书链求值
必需的签名种子 handler、RFC3161 SubFilter、摘要、原因、时间戳 URL、证书 subject 与 issuer 以及当前命名外观约束继续生效
经认证的 DocMDP 与 FieldMDP 检查只允许插入真实文档时间戳所需的变更,包括在 P1 或字段锁下插入既有未签名签名字段;这一标准例外不允许原始策略禁止的普通 approval 签名或表单变更
后续修改检查认证时间戳,把字段与签名绑定到其时间戳修订,并继续保护原始认证对象图和锁定字段
对 PDF 2.0 之前的源,输出在需要时添加 BaseVersion 1.7、ExtensionLevel 1 的 ESIC 扩展声明,保留既有扩展 profile,并通过 Catalog Version 1.7 提升较旧的生效 PDF 版本,而不改动原始 header
只读字段、源别名和 AES 表单填写权限继续强制执行;不兼容的 approval 认证、LegalAttestation、Adobe 签名吊销 profile 和时间戳 FieldMDP transform 引用被拒绝
ReservedTimestampBytes 是文档对象预算内的正令牌容量;完整令牌必须装进固定的十六进制预留区
创建保留原始源字节和 AES 安全,签名 Contents 保持未加密,其他元数据按原始策略加密,已加载字段图保持不变
失败、取消、无效响应和预算不足保留任何既有目标并删除未发布的 staging 文件
文档、CMS 与时间戳取消令牌在非 nil 时必须一致;被覆盖数据按至多 64 KiB 的块读取
用 AddSignatureField 和 SetSignatureFieldAppearance 准备新的时间戳 widget,用 VerifySignature 认证生成的文档时间戳
创建成功后 TimestampCount 为 1、TimestampValid 为 true;CertificateTrusted 与 TimestampTrustEvaluated 反映显式验证的 TSA 信任遍
扩展 profile 遵循 ETSI EN 319 142-1, clause 5.6;必要的时间戳变更遵循 ISO 32000-2 MDP clarification