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

FabrikerGenerationValideringKryptering
CompatibilitySHA-256Alla sex stödda sammanfattningarAES-256 eller AES-256-GCM
ModernSHA-384SHA-384, SHA-512, SHA3-384 eller SHA3-512AES-256 eller AES-256-GCM
HighAssuranceSHA3-512Endast SHA3-512AES-256-GCM krävs
CustomAnroparens valAnroparens tillåtelselistaAnroparens 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