Windows Signed Revocation Information
Windows sign 操作可以认证 CRL 与 OCSP 证据,把它纳入 Adobe RevocationInfoArchival 签名属性,并在验证实际生成的 CMS 和嵌入证据之后才发布 PDF
签名选项
{"schemaVersion":1,"type":"sign","incremental":true,
"existingField":true,"fieldName":"ApprovalOne",
"pfxFile":"C:/keys/signer.pfx","pfxPassword":"password",
"cades":true,"digestMethod":"SHA384",
"revocationInfo":{"enabled":true,
"trustedCAFile":"C:/trust/signing-roots.pem",
"certificatesBase64":[],"ocspResponsesBase64":[],
"crlsBase64":["BASE64_DER_CRL"],
"requireTimestamp":false,"clockSkewSeconds":300,
"maxOCSPAgeSeconds":86400}}
revocationInfo 可选;提供对象时 enabled 默认 true,禁用的证据不能包含证书、OCSP 响应或 CRL
trustedCAFile 显式指定 PEM 信任根,签名期间保持打开并拒绝写共享;验证不会仅因 PFX 或证据中包含某证书就静默信任它
证据数组包含编码完整 DER 证书、CRL 或 OCSPResponse 值的规范 Base64 字符串;enabled 时至少需要一个 CRL 或 OCSP 响应
标准签名属性包含 DER CRL 和 BasicOCSPResponse 值;完整 OCSPResponse 输入在嵌入前被规范化,证书提供额外的验证链材料
HPDFHeadlessRevocationInfo 中的 HPDFNormalizeHeadlessOCSPResponse 向 Pascal 调用方暴露有界的成功响应转换;它验证 DER 框架并提取 BasicOCSPResponse,而密码学与状态验证仍是签名或 LTV 验证器的职责
经认证的证据
验证认证实际 CMS 签名、签名证书绑定、显式证书信任、证书有效期、CRL 签名与有效期区间,以及 OCSP 签名、响应者授权、签发者标识、响应状态和更新时间
证据必须覆盖完整的非根签名链;已吊销、未知、过期、不完整、未授权、不受信或畸形的证据无法发布 PDF
requireTimestamp 要求真实的签名时间戳,并同样为其 TSA 链认证证据;使用 Windows signing timestamps 描述的应用传输和独立 TSA 信任设置
clockSkewSeconds 接受 0 到 86400,maxOCSPAgeSeconds 必须为正;两者配置证据时间验证,不改变证书信任
种子值与发布
必需的 SV AddRevInfo true 约束要求本经验证的签名证据工作流;必需的 false 值要求省略该属性
该工作流支持既有与新建签名字段、首个认证签名、后续允许的 approval 签名、受支持的加密源,以及未签名文档签名
信任文件与解码证据共享 memoryBytes 八分之一的字节上限;证据对象数在分配前以 objectCount 与 4096 中较小者为限
规范 Base64、DER 框架、预算、取消、CMS 完整性和证据有效性在二进制发布前检查;被拒绝的证据保留原始文档句柄且不发布 PDF 字节,发布回调保留既有回调失败语义
成功结果只在认证实际签名属性之后才报告 revocationInfo: true;禁用或省略证据报告 false
从完整 OCSPResponse 到 BasicOCSPResponse DER 的有界原生转换参见 HPDFNormalizeHeadlessOCSPResponse
源快照、加密权限、先前签名策略、输出预算和回调发布语义参见 incremental PFX signing