Headless 簽章 Seed 約束
SignToFile 與 SignPFXToFile 會沿父鏈解析簽章欄位的 SV 字典,並在發布簽章輸出前檢核必填的 seed 值
簽章設定檔遵循必填的 Adobe.PPKLite 處理、adbe.pkcs7.detached 或 ETSI.CAdES.detached 編碼、seed 能力版本 1 到 3、SHA256/SHA384/SHA512 選擇、簽章原因、核准與認證的 MDP 值,以及已驗證的 RFC 3161 時間戳記
設定 THPDFHeadlessCMSOptions.DigestMethod 與 Reason 可選出對應的實際 CMS 摘要與簽章 Reason 項目;必填的單一期間原因清單會抑制 Reason 項目
必填的 LockDocument true 會寫入生效的 FieldMDP All transform;必填 false 則拒絕衝突的全欄位鎖
LegalAttestation seed 約束適用於認證簽章;LegalAttestation 為標準 Catalog Legal/Attestation 字典選出允許的 Unicode 聲明,保留既有的法律內容細節
核准簽章忽略認證專屬的 LegalAttestation seed 約束;在核准簽章請求中提供法律聲明會被拒絕
憑證約束
HPDFReadHeadlessCertificatePolicy 讀取 SVCert 模型,HPDFValidateHeadlessCertificatePolicy 則以實際的葉憑證與中介 PEM 憑證評估它
| 約束 | 必填行為 |
|---|---|
| Subject | 葉憑證符合一張完整的 DER 憑證 |
| Issuer | 存在一條密碼學有效、目前有效的直接或間接鏈,可達到允許的簽發者;允許的中介憑證可以終止該鏈 |
| OID | 每個已設定的原則 OID 都出現在葉憑證的原則擴充中;提供 Issuer 時才套用此約束 |
| SubjectDN | 某個備選包含與葉憑證主體相符的屬性;允許葉憑證有額外屬性,採用 X.509 標準比對並支援 Unicode |
| KeyUsage | 存在的擴充符合某個可接受的九位樣式;0 要求未設位元,1 要求已設位元,其他或缺少的字元為萬用 |
| URL | 必要時 CredentialSourceURL 等於已設定的註冊 URL |
憑證約束比對把 seed 簽發者當成明確的註冊約束;一般的 CMS 商業信任仍由 TrustedCAFile 另行掌控
CredentialSourceURL 是取得簽章身分的應用程式所提供的來源;程式庫不執行任何註冊網路請求,也無法從 X.509 位元組推導該來源
TimestampServerURL 識別 Timestamp.Transport 路由的端點;必填的時間戳記另外經過真正的印記、nonce、TSA 憑證與信任驗證
邊界
必填的 AddRevInfo true 要求 UseAdobeRevocationInfo 配已驗證證據與明確的受信任 CA 檔;必填 false 拒絕該設定檔,選填值不會覆寫所選設定檔
Adobe 屬性以已簽署屬性的形式包含 CRL 與 BasicOCSPResponse 值;所有簽章者與內含 TSA 鏈都必須有目前有效的已驗證撤銷涵蓋,才能發布輸出
必填的非空 AppearanceFilter 必須符合 SetSignatureFieldAppearance 在目前文件執行個體中實際選取的內建設定檔;未知名稱、被取代或只是重新載入的設定檔 metadata 不能滿足該約束
格式錯誤的字典、重複的語意鍵、格式錯誤的 DER 或 PEM、保留的憑證旗標、超過預算的約束與取消,都會產生失敗而不取代既有輸出
獨立的憑證原則選項限制憑證位元組總量、約束位元組總量、條目數與鏈憑證;結果會把 provided 與 matched 旗標從 Accepted 中分開