Método THotPDF.ValidatePDFMACChain

Valida cada revisión PDF MAC desde la sección de referencias cruzadas más antigua hasta la revisión activa y devuelve diagnósticos de integridad específicos de cada revisión

Declaración

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;

Modelo de validación

Registros de resultado

THPDFPDFMACChainValidationInfo informa de RevisionCount, FirstMACRevisionIndex, ValidatedRevisionCount, FailureRevisionIndex, FailureXRefOffset, cobertura de permisos, estabilidad de la sal, monotonicidad del resumen y un registro THPDFPDFMACRevisionValidation por revisión

THPDFPDFMACChainFailure distingue errores de límite de revisión, MAC ausentes, MAC inválidos o reemplazados, KDFSalt cambiado, degradación del resumen y degradación de permisos autenticados

La implementación enumera la cadena de revisiones una vez y actualiza un estado de referencias cruzadas acumulativo, evitando copias PDF temporales e indexación de objetos repetida mientras conserva la verificación criptográfica independiente de cada revisión protegida

Ejemplo en 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;

Comprobación previa

CreatePreflightReport expone el mismo resultado que PDFMACRevisionChain, lo que permite que los flujos de trabajo automatizados distingan la validez de la revisión activa de la validez completa de la cadena de revisiones

Consulte ValidatePDFMAC cuando solo deba comprobarse la revisión activa, o Agilidad de algoritmos PDF MAC y perfiles de política para la semántica de la política de resumen