HPDFVerifyHeadlessCMS

HPDFHeadlessCMS تتحقق من توقيعات CMS المنفصلة مقابل TStream مملوكًا للمستدعي باستخدام OpenSSL 3 ومحقق ByteRange المشترك للتوقيعات

function HPDFVerifyHeadlessCMS(Source: TStream;
  const ByteRange: array of Int64; const CMSDER: SysUtils.TBytes;
  const Options: THPDFHeadlessCMSOptions): THPDFHeadlessCMSResult;

مدى بعنصرين يجب أن يغطي التدفق كاملًا؛ ومدى بأربعة عناصر يبدأ من الصفر ويستثني فترة واحدة غير فارغة، بثنائيات مرتبة محدودةً بحدود وحساب آمن من الفيض

CMS يجب أن تحوي محتوى منفصلًا وموقِّعًا واحدًا على الأقل؛ والمدقق يوثق خلاصة المحتوى والسمات الموقعة وكل موقِّع دون تجميع المصدر كله، ويقبل حشو أصفار لاحقًا ويرفض بيانات CMS لاحقة غير صفرية

ملكية المصدر تبقى للمستدعي ويستعاد موضعها، وعلى المستدعي زوّد وصولًا تسلسليًا حصريًا أثناء التحقق

SignatureValid تصف السلامة التشفيرية؛ وثقة الشهادة تُقيَّم منفصلةً فقط عندما تزود TrustedCAFile مراسي ثقة PEM صريحة

RequireCAdES تتطلب ربط شهادة توقيع ESS موثوقًا من v1 أو v2؛ وهاج شهادتها واسم المُصدر ورقمه التسلسلي الاختياري يجب أن يحددا الموقِّع الفعلي باستقلالية عن ثقة الشهادة

سمات ESS القائمة تفحص حتى عندما تكون RequireCAdES false؛ والسمات المكررة والقيم المتعددة والتتابعات التالفة وبايتات ASN.1 اللاحقة تُرفض، بينما تفعّل مراسي الثقة الصريحة جولة تحقق سلسلة شهادات منفصلة

الدالة تفحص المدايات العددية لكنها لا تربط فجوة مستثناةً بمدخل Contents في PDF؛ واستخدم THPDFHeadlessDocument.VerifySignature لفحص المستند ذاك المستوى

المحمّل يستخدم HOTPDF_OPENSSL_LIBRARY عند ضبطها وإلا libcrypto.so.3 في Linux أو libcrypto-3.dll في Windows؛ ومكتبة بيئة التشغيل يجب أن تطابق معمارية العملية، وتبقى أول مكتبة تحمّلت بنجاح نشطةً حتى إنهاء الوحدة

CMS التالفة والميزانيات والرموز البيئية الغائبة وفشول قراءة المصدر والإلغاء ترفع EHPDFHeadlessCMSError؛ والتوقيعات غير الصالحة وسلاسل الشهادات غير الموثوقة تعيد حقول نتائج false صريحةً بتفاصيل OpenSSL

هذه الدالة لا تجلب أدلة إبطال أو مراسي ثقة أو طوابع زمنية أو بيانات شهادات بعيدة ولا تثبت زمن توقيع تاريخيًا