مرجع HotPDF
يمكن لـ HotPDF إنتاج والتحقق من قيم PDF MAC المستقلة والمرتبطة بالتوقيع وفق ISO/TS 32004، بست خوارزميات بصمة مستند، وفرض سياسة تفشل بأسلوب آمن (fail-closed)
بصمات المستند المدعومة
يوفر THPDFPDFMACDigestAlgorithm القيم pmdaSHA256 وpmdaSHA384 وpmdaSHA512 وpmdaSHA3_256 وpmdaSHA3_384 وpmdaSHA3_512
تحمي البصمة المختارة كامل ByteRange الخاص بـ PDF، ومعلومات السلامة (integrity) المغلَّفة، وخوارزمية بصمة CMS، وسمة CMSAlgorithmProtection
تبقى مصادقة HMAC-SHA-256 واشتقاق المفتاح HKDF-SHA-256 وتغليف مفتاح AES-256 ثابتة وفق صيغة PDF MAC، ولا يغيّرها اختيار ملخّص المستند
ملفات تعريف مدمجة
متطلبات الأنماط المدمجة (built-in) ثابتة ولا يمكن إضعافها بتغيير حقول السجل؛ استخدم pmppCustom عندما يحتاج التطبيق إلى خوارزمية توليد مختلفة، أو قائمة سماح (allowlist)، أو متطلب تشفير مختلف
| المرجع | المرجع | المرجع | المرجع |
|---|---|---|---|
Compatibility | المرجع | المرجع | المرجع |
Modern | المرجع | المرجع | المرجع |
HighAssurance | المرجع | المرجع | المرجع |
Custom | المرجع | المرجع | المرجع |
ملفات تعريف مدمجة
uses HPDFDoc, HPDFPDFMAC;
var
Options: THPDFPDFMACOptions;
Info: THPDFPDFMACValidationInfo;
begin
Options := THPDFPDFMACOptions.HighAssurance;
if not PDF.AddStandalonePDFMAC('encrypted.pdf', 'authenticated.pdf',
'user-password', Options) then
raise Exception.Create('PDF MAC creation failed');
if not PDF.ValidatePDFMAC('authenticated.pdf', 'user-password',
Options, Info) then
raise Exception.Create(Info.Message);
end;
ملفات تعريف مدمجة
يكتشف التحقق البصمة المُرمَّزة قبل تدفيق النطاقات المحمية، ويرفض الخوارزميات خارج AllowedDigestAlgorithms، ويفرض RequireAESGCM بعد استرداد مفتاح الملف المُصادَق عليه
يُبلِّغ THPDFPDFMACValidationInfo عن DigestAlgorithm وPolicyProfile وPolicyAccepted وUsedAESGCM؛ وتُعد pmsPolicyRejected منفصلة عن المدخل غير الصحيح التنسيق أو فشل علامة المصادقة (authentication tag)
بالنسبة إلى /AttachedToSig، يحمي الـ digest المختار أيضًا قيمة توقيع CMS الخام عبر PdfMacIntegrityInfo.signatureDigest، بينما يتحقق ValidatePDFMAC من AuthCode المباشر النشط ومن SigObjRef غير المباشر ومن ارتباط حقل التوقيع ومن المراجعة الموقعة كاملة
يطبق ValidatePDFMACChain السياسة المختارة على كل مراجعة تزايدية محمية، ويرفض تراجع قوة الـ digest، ويتطلب KDFSalt مستقرًا بعد أول MAC، ويبلّغ عن المراجعة الفاشلة بالضبط وعن إزاحة xref
راجع SignPDFWithPFXAndAttachedPDFMAC لسير عمل التوقيع بـ PFX الذري