Windows 已簽署撤銷資訊

Windows 簽章操作可以驗證 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 字串;啟用時至少需要一個 CRL 或 OCSP 回應

標準的已簽署屬性包含 DER CRL 與 BasicOCSPResponse 值;完整的 OCSPResponse 輸入會在內嵌前正規化,憑證則提供額外的驗證鏈素材

HPDFHeadlessRevocationInfo 中的 HPDFNormalizeHeadlessOCSPResponse 為 Pascal 呼叫端公開受限的成功回應轉換;它驗證 DER 框架並取出 BasicOCSPResponse,密碼學與狀態驗證仍由簽章或 LTV 驗證器負責

已驗證的證據

驗證會驗證實際的 CMS 簽章、簽章憑證綁定、明確憑證信任、憑證有效期、CRL 簽章與有效期間,以及 OCSP 簽章、responder 授權、簽發者識別、回應狀態與更新時間

證據必須涵蓋完整的非根簽章鏈;已撤銷、未知、過期、不完整、未授權、不受信任或格式錯誤的證據都無法發布 PDF

requireTimestamp 要求實際的簽章時間戳記,並同樣為其 TSA 鏈驗證證據;傳輸與 TSA 信任設定請使用Windows 簽章時間戳記描述的應用程式傳輸

clockSkewSeconds 接受 0 到 86400,maxOCSPAgeSeconds 必須為正;兩者設定的都是證據時間檢核,不改變憑證信任

Seed 值與發布

必填的 SV AddRevInfo true 約束要求這套已驗證的簽署證據工作流程;必填 false 則要求省略該屬性

這套工作流程支援既有與新建的簽章欄位、第一個認證簽章、後續允許的核准簽章、受支援的加密來源,以及未簽署文件的簽章

信任檔與解碼證據共用 memoryBytes 八分之一為上限的位元組配額;證據物件數在配置前受限於 objectCount 與 4096 的較小值

標準 Base64、DER 框架、預算、取消、CMS 完整性與證據有效性都在 binary 發布前檢查;被拒的證據會保留原始文件 handle 且不發布任何 PDF 位元組,發布 callback 則沿用既有的 callback 失敗語意

成功的結果只有在驗證實際的已簽署屬性後才回報 revocationInfo: true;停用或省略證據回報 false

受限的原生轉換(完整 OCSPResponse 到 BasicOCSPResponse DER)詳見HPDFNormalizeHeadlessOCSPResponse

來源快照、加密權限、既有簽章原則、輸出預算與 callback 發布語意詳見增量 PFX 簽章