THotPDF.ValidatePDFMACChain Method

Valida ogni revisione PDF MAC dalla sezione cross-reference più vecchia alla revisione attiva e restituisce diagnostica di integrità specifica per revisione

Dichiarazione

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;

Modello di validazione

Record dei risultati

THPDFPDFMACChainValidationInfo riporta RevisionCount, FirstMACRevisionIndex, ValidatedRevisionCount, FailureRevisionIndex, FailureXRefOffset, copertura dei permessi, stabilità del salt, monotonia del digest e un record THPDFPDFMACRevisionValidation per revisione

THPDFPDFMACChainFailure distingue errori al confine di revisione, MAC mancanti, MAC non validi o sostituiti, KDFSalt modificato, downgrade del digest e downgrade autenticato dei permessi

L'implementazione enumera la catena di revisioni una sola volta e aggiorna un unico stato cumulativo del cross-reference, evitando copie temporanee del PDF e indicizzazioni ripetute degli oggetti, pur preservando la verifica crittografica indipendente di ogni revisione protetta

Esempio Delphi

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 espone lo stesso risultato di PDFMACRevisionChain, permettendo ai workflow automatizzati di distinguere la validità della revisione attiva dalla validità dell'intera catena di revisioni

Vedi ValidatePDFMAC quando serve controllare solo la revisione attiva, oppure Agilità Algoritmica del PDF MAC e Profili di Politica per la semantica della policy sui digest