THotPDF.ValidatePDFMACChain Method

Valideert elke PDF MAC-revisie van de oudste kruisverwijssectie tot de actieve revisie en geeft revisiespecifieke integriteitsdiagnostiek terug

Declaratie

function ValidatePDFMACChain(const FileName: TFileName; const Password: AnsiString; out ValidationInfo: THPDFPDFMACChainValidationInfo): boolean; overload;
function ValidatePDFMACChain(const FileName: TFileName; const Password: AnsiString; const Options: THPDFPDFMACOptions; out ValidationInfo: THPDFPDFMACChainValidationInfo): boolean; overload;

Validatiemodel

Resultaattrecords

THPDFPDFMACChainValidationInfo rapporteert RevisionCount, FirstMACRevisionIndex, ValidatedRevisionCount, FailureRevisionIndex, FailureXRefOffset, toestemmingsdekking, zoutstabiliteit, digestmonotoniciteit en één record THPDFPDFMACRevisionValidation per revisie

THPDFPDFMACChainFailure onderscheidt revisiegrens fouten, ontbrekende MAC's, ongeldige of vervangen MAC's, gewijzigde KDFSalt, digest downgrade en geauthenticeerde toestemmingsdowngrade

De implementatie somt de revisieketen één keer op en werkt één cumulatieve kruisverwijstoestand bij, waarbij tijdelijke PDF-kopieën en herhaalde objectindexering worden vermeden terwijl onafhankelijke cryptografische verificatie voor elke beschermde revisie behouden blijft

Delphi-voorbeeld

var
  ChainInfo: THPDFPDFMACChainValidationInfo;
begin
  if not PDF.ValidatePDFMACChain('authenticated.pdf', 'user-password',
    ChainInfo) then
    raise Exception.CreateFmt('Revision %d at xref %d failed: %s',
      [ChainInfo.FailureRevisionIndex, ChainInfo.FailureXRefOffset,
       ChainInfo.Message]);
end;

Preflight

CreatePreflightReport stelt hetzelfde resultaat bloot als PDFMACRevisionChain, waardoor geautomatiseerde workflows actieve-revisiegeldigheid kunnen onderscheiden van volledige revisieketen-geldigheid

Zie ValidatePDFMAC wanneer alleen de actieve revisie hoeft te worden gecontroleerd, of PDF MAC-algoritmeagiliteit en beleidsprofielen voor digestbeleid-semantiek