PDF MAC-algoritmagilitet och policymodeller
HotPDF kan producera och validera ISO/TS 32004 fristående och signaturbifogade PDF MAC-värden med sex dokumentsammanfattningsalgoritmer och fail-closed-policyhantering
Stödda dokumentsammanfattningar
THPDFPDFMACDigestAlgorithm tillhandahåller pmdaSHA256, pmdaSHA384, pmdaSHA512, pmdaSHA3_256, pmdaSHA3_384 och pmdaSHA3_512
Den valda sammanfattningen skyddar hela PDF:ens ByteRange, den inkapslade integritetsinformationen, CMS-sammanfattningsalgoritmen och attributet CMSAlgorithmProtection
HMAC-SHA-256-autentisering, HKDF-SHA-256-nyckelderivering och AES-256-nyckelinpackning förblir fasta i PDF MAC-formatet och ändras inte av valet av dokumentsammanfattning
Inbyggda modeller
De inbyggda modellkraven är fasta och kan inte försvagas genom att ändra postfält; använd pmppCustom när en applikation behöver en annan generationsalgoritm, tillåtelselista eller krypteringskrav
| Fabriker | Generation | Validering | Kryptering |
|---|---|---|---|
Compatibility | SHA-256 | Alla sex stödda sammanfattningar | AES-256 eller AES-256-GCM |
Modern | SHA-384 | SHA-384, SHA-512, SHA3-384 eller SHA3-512 | AES-256 eller AES-256-GCM |
HighAssurance | SHA3-512 | Endast SHA3-512 | AES-256-GCM krävs |
Custom | Anroparens val | Anroparens tillåtelselista | Anroparens val |
Delphi-exempel
uses HPDFDoc, HPDFPDFMAC;
var
Options: THPDFPDFMACOptions;
Info: THPDFPDFMACValidationInfo;
begin
Options := THPDFPDFMACOptions.HighAssurance;
if not PDF.AddStandalonePDFMAC('encrypted.pdf', 'authenticated.pdf',
'user-password', Options) then
raise Exception.Create('PDF MAC creation failed');
if not PDF.ValidatePDFMAC('authenticated.pdf', 'user-password',
Options, Info) then
raise Exception.Create(Info.Message);
end;
Valideringsbeslut
Valideringen upptäcker den kodade sammanfattningen innan de skyddade intervallen strömmas, avvisar algoritmer utanför AllowedDigestAlgorithms och upprätthåller RequireAESGCM efter autentiserad filnyckelåterställning
THPDFPDFMACValidationInfo rapporterar DigestAlgorithm, PolicyProfile, PolicyAccepted och UsedAESGCM; pmsPolicyRejected är separat från felformaterad indata eller ett misslyckat autentiseringstag
För /AttachedToSig skyddar den valda sammanfattningen även det råa CMS-signaturvärdet genom PdfMacIntegrityInfo.signatureDigest, medan ValidatePDFMAC verifierar den aktiva direkta AuthCode-en, indirekta SigObjRef-elementet, signaturfältsbindningen och den kompletta signerade revisionen
ValidatePDFMACChain tillämpar den valda policyn på varje skyddad inkrementell revision, avvisar försvagning av sammanfattningsstyrka, kräver ett stabilt KDFSalt efter den första MAC:en och rapporterar den exakta felande revisionen och xref-offseten
Se SignPDFWithPFXAndAttachedPDFMAC för det atomära PFX-signeringsarbetsflödet