THPDFPDFMACValidationInfo Record
نتیجهٔ کامل یک اعتبارسنجی PDF MAC: وضعیت و پیام، طولهای بازهٔ بایتی و MAC، جزئیات digest و سیاست، استفاده از 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;
واحد
HPDFDoc
فیلدها
| فیلد | هدف |
|---|---|
Status | حکم THPDFPDFMACStatus؛ pmsValid وقتی MAC تأیید شده و در غیر این صورت حالتهای شکست مشخص |
ByteRangeLength | شمار بایتهای فایل که /ByteRange متعلق به MAC پوشش میدهد |
MACLength | طول مقدار انکودشدهٔ MAC |
DigestAlgorithm | الگوریتم digestی که MAC بررسیشده با آن ساخته شده |
PolicyProfile | THPDFPDFMACPolicyProfileای که MAC ذیل آن ارزیابی شده |
PolicyAccepted | true وقتی سیاست digest و AES-GCM گزینههای دادهشده MAC را پذیرفته باشد |
UsedAESGCM | true وقتی payloadهای MAC با AES-GCM محافظت شده باشند |
Message | متن نتیجهٔ خوانا برای انسان؛ مثلاً اینکه MAC معتبر است یا دلیل نامعتبر بودنش |
Location | THPDFPDFMACLocation: MAC مستقل یا متصل به امضا |
SignatureObjectNumber / SignatureGeneration | ارجاع شیءِ امضایی که MAC به آن چسبیده؛ وقتی Location یک MAC متصل گزارش کند معنا دارد |
SignatureDigestMatched | true وقتی digest یک MAC متصل با digest بایتی امضایش مطابقت داشته باشد |
FullFileCoverage | true وقتی بازهٔ بایتی کل فایل را دربربگیرد |
PermissionsAuthenticated | true وقتی بیتهای مجوز سند توسط MAC پوشش داده شده باشند |
MACRequiredByPermissions | true وقتی مجوزهای سند یک MAC میطلبند، در نتیجه نبودنش خودش یک شکست اعتبارسنجی است |
یادداشتهای استفاده
- توسط
THotPDF.ValidatePDFMACو اعتبارسنج هر-revision پر میشود؛ رکورد پیش از استفاده ریست میشود، پس حتی وقتی تابعfalseبرمیگرداند هم آن را بررسی کنید - اول
Statusرا بررسی کنید، بعدPolicyAcceptedرا، تا MACی را که از نظر رمزنگاری سالم است اما پروفایل شما را رد میکند از MAC خراب تفکیک کنید - برای MACهای متصل،
SignatureObjectNumberرا همراهSignatureDigestMatchedبخوانید تا تأیید کنید MAC همان بایتهایی را پوشش میدهد که امضا امضا کرده