Метод THotPDF.ValidatePDFMAC
Проверяет автономные или привязанные к подписи данные PDF MAC и возвращает структурированную диагностику сбоев
Объявление
function ValidatePDFMAC(const FileName: TFileName; const Password: AnsiString; out ValidationInfo: THPDFPDFMACValidationInfo): boolean; overload;
function ValidatePDFMAC(const FileName: TFileName; const Password: AnsiString; const Options: THPDFPDFMACOptions; out ValidationInfo: THPDFPDFMACValidationInfo): boolean; overload;
Примечания по использованию
THPDFPDFMACStatusразличает сбои аутентификации, модификации, усечения, некорректных данных и неподдерживаемого алгоритмаTHPDFPDFMACValidationInfoсообщает решения по покрытию, алгоритму, digest и аутентификацииTHPDFPDFMACLocationразличает автономное расположение, привязку к подписи и неизвестное расположение- Расшифрованный открытый текст не выдаётся до успешной аутентификации
pmsPolicyRejectedотличает корректно разобранный, но запрещённый политикой digest или режим шифрования- Результат сообщает обнаруженный digest, выбранный профиль, решение политики и использование AES-256-GCM
PermissionsAuthenticatedподтверждает, что зашифрованный/Permsсовпадает с/P, аMACRequiredByPermissionsсообщает аутентифицированный бит требования PDF MAC- Привязанная проверка разрешает активный trailer
SigObjRef, требует ровно одно совпадающее поле подписи и проверяет полное покрытиеByteRangeподписи Location,SignatureObjectNumber,SignatureGeneration,FullFileCoverageиSignatureDigestMatchedсообщают о проверенной привязке вложенияpmsSignatureBindingFailedотличает сбой digest «сырого» значения подписи от модификации документа
Чтобы аутентифицировать каждую инкрементную ревизию, обратитесь к ValidatePDFMACChain, а за семантикой профилей — к PDF MAC Algorithm Agility и профилям политики