THotPDF.SignPDFWithPFXAndAttachedPDFMAC Method
建立一個加密的簽署修訂版,其 PDF MAC 同時驗證完整的簽章位元組範圍與原始 CMS 簽章值
宣告
class function SignPDFWithPFXAndAttachedPDFMAC(
const InputPDFPath, OutputPDFPath, PFXFilePath: string;
const PFXPassword, PDFPassword: AnsiString;
const MACOptions: THPDFPDFMACOptions): boolean; static;
輸入需求
- 輸入必須以支援的 AES-256 密碼安全處理器加密
- 輸入必須恰好包含一個以
AddSignedSignatureField建立的未簽署簽章字典 - 簽章字典與其簽章欄位必須是直接的 xref 物件,固定寬度的佔位符才能繼續補寫
- PFX 檔案必須包含支援的 RSA 金鑰材料,且提供的 PFX 密碼必須能通過容器驗證
輸出保證
- 作用中的 trailer 包含帶
/MACLocation /AttachedToSig的直接AuthCode,以及一個間接的SigObjRef - CMS
SignerInfo包含一個id-attr-pdfMacData未簽署屬性 PdfMacIntegrityInfo.signatureDigest在文件摘要之外同時攜帶原始簽章值的摘要- SHA-256 簽署與所選 PDF MAC 摘要共用一次有界記憶體的檔案掃描
- 只有在完整簽署輸出成功之後,才會取代目標路徑
使用 ValidatePDFMAC 驗證作用中的 trailer、SigObjRef、簽章欄位綁定、完整位元組範圍覆蓋、文件摘要、簽章摘要與 MAC 驗證