PDFium Delphi Component Docs

ValidatePades الطريقة

المكوّن: TPdf  ·  الوحدة: PDFium
يفحص بنى PAdES في بايتات مصدر PDF الأصلية ويُبلِّغ عن الامتثال البنيوي وسلامة CMS المنفصل وربط الشهادة وحالات الثقة المستقلة

الصياغة

function ValidatePades: TPadesValidationResult;

الوصف

تحلل قواميس التوقيع المضمَّنة من البايتات المحمَّلة الأصلية، وتتحقق من بنيتها للامتثال الأساسي لـ PAdES، وتبقي إزاحات التوقيع منفصلة عن عرض object-stream الموسَّع المستخدم للبحث في الكتالوج و DSS

تُعدّ مدخلات التوقيع المطلوبة عند مستوى القاموس الأعلى فقط، فلا يمكن إخفاء مفاتيح Contents أو ByteRange أو SubFilter أو Filter أو Type المكررة خلف قيم يختارها المحلل، بينما تبقى المفاتيح المتجانسة الأسماء في القواميس والمصفوفات المتداخلة مستقلة

يكتشف التوقيعات بمسح معجمي خطي يتخطى أجسام التيارات والسلاسل والقيم السداسية والتعليقات، ويفك تسلسلات الهروب #xx في الأسماء، ويبقى غير متأثر بظهور قاموس متداخل قبل مدخلات التوقيع أو بعدها

يجب أن يساوي فراغ /ByteRange المستبعد رمز /Contents السداسي المباشر كاملًا بما في ذلك محدِّداه، وأن تنتهي كل مراجعة مغطاة عند حد مراجعة PDF كامل

على Windows، يُتحقق من توقيعات CMS المنفصلة العادية مباشرةً مقابل مقطعي /ByteRange الأصليين، بما في ذلك سمات CMS الموقَّعة وقيمة التوقيع التعمية وربط SHA-256 signing-certificate-v2

يتلقى كل موقِّع أيضًا ملفًا خوارزميًا محللًا من معرفات CMS و X.509، مع فحوصات ISO/TS 32002 للمنحنيات المدعومة من NIST و Brainpool و Ed25519 و Ed448، وتطابق الملخص، ومعاملات المنحنى المسمَّى، وطول مخرجات SHAKE256

ملاحظات

مثال

var
  Res: TPadesValidationResult;
begin
  if not Pdf1.Active then Exit;
  Res := Pdf1.ValidatePades;
  if Res.IsCryptographicallyValid then
    ShowMessage('PAdES signature integrity passed');
end;

انظر أيضًا

SignPades PadesCryptoAvailable