Запис THPDFPDFMACValidationInfo
Повний результат перевірки PDF MAC: статус і повідомлення, довжини байтового діапазону та MAC, подробиці дайджеста і політики, використання AES-GCM, розташування MAC, прив'язка до підписа та прапорці покриття дозволів
Оголошення
THPDFPDFMACValidationInfo= record
Status: THPDFPDFMACStatus;
ByteRangeLength: Int64;
MACLength: Integer;
DigestAlgorithm: THPDFPDFMACDigestAlgorithm;
PolicyProfile: THPDFPDFMACPolicyProfile;
PolicyAccepted: boolean;
UsedAESGCM: boolean;
Message: string;
Location: THPDFPDFMACLocation;
SignatureObjectNumber: Integer;
SignatureGeneration: Integer;
SignatureDigestMatched: boolean;
FullFileCoverage: boolean;
PermissionsAuthenticated: boolean;
MACRequiredByPermissions: boolean;
end;
Unit
HPDFDoc
Поля
| Поле | Призначення |
|---|---|
Status | Вердикт THPDFPDFMACStatus; pmsValid, коли MAC пройшов перевірку, і конкретні стани невдачі в іншому разі |
ByteRangeLength | Кількість байтів файла, покритих /ByteRange MAC |
MACLength | Довжина закодованого значення MAC |
DigestAlgorithm | Алгоритм дайджеста, яким побудовано перевірений MAC |
PolicyProfile | THPDFPDFMACPolicyProfile, за яким оцінювався MAC |
PolicyAccepted | true, коли політика дайджеста й AES-GCM поданих опцій прийняла MAC |
UsedAESGCM | true, коли навантаження MAC було захищене AES-GCM |
Message | Зрозумілий для людини текст результату — скажімо, що MAC чинний, або причина, чому ні |
Location | THPDFPDFMACLocation: окремий MAC чи прикріплений до підписа |
SignatureObjectNumber / SignatureGeneration | Посилання на об'єкт підписа, до якого прикріплюється MAC; має сенс, коли Location звітує прикріплений MAC |
SignatureDigestMatched | true, коли дайджест прикріпленого MAC збігся з байтовим дайджестом його підписа |
FullFileCoverage | true, коли байтовий діапазон сягає всього файла |
PermissionsAuthenticated | true, коли біти дозволів документа були покриті MAC |
MACRequiredByPermissions | true, коли дозволи документа вимагають MAC, тож його відсутність сама по собі є провалом перевірки |
Примітки щодо використання
- Заповнюється методом
THotPDF.ValidatePDFMACі валідатором по ревізіях; запис скидається перед використанням, тож огляйте його, навіть коли функція повертаєfalse - Перевіряйте спершу
Status, потімPolicyAccepted, щоб відрізнити криптографічно добрий MAC, що не пройшов ваш профіль, від зіпсованого - Для прикріплених MAC читайте
SignatureObjectNumberразом ізSignatureDigestMatched, щоб підтвердити, що MAC покриває ті самі байти, які підписав підпис