SetSignProcessCustomSubFilter
الأمان والتواقيع
الوصف
يضبط مدخل SubFilter بسلسلة مخصصة لعملية توقيع رقمي، محددًا ترميز قيمة التوقيع
مشابه لـ SetSignProcessSubFilter لكن مدخل Subfilter قابل للتخصيص
عندما تبدأ السلسلة المقدمة بـ ETSI. (عادة ETSI.CAdES.detached لتواقيع PAdES الأساسية أو ETSI.RFC3161 لأطواق زمن المستند) تضيف المكتبة تلقائيًا مدخل PAdES /Extensions /ESIC <</BaseVersion /1.7 /ExtensionLevel 2>> إلى كتالوج المستند كما تطلبه ETSI EN 319 142-1 v1.2.1 §5.6. ولملفات PDF المؤلفة عبر TPDFlib يُضاف بالتوازي الإعلان المكافئ من Adobe (/Extensions /ADBE عند /ExtensionLevel 8). والحقن غير مكرر الأثر ولا يخفض أبدًا مستوى امتداد أعلى موجود
يؤدي اختيار ETSI.CAdES.detached أيضًا إلى تفعيل مسار التوقيع PAdES-B-B: يحمل حمولة CMS الناتجة خصائص المصادقة content-type (id-data) وsigning-certificate-v2 (RFC 5035 / RFC 5816)، وتُحذف خاصية signing-time التي يحظرها الجدول 1 من EN 319 142-1 لأن المكتبة تمرر مصفوفة خصائصها الخاصة إلى CryptSignMessage. ويُحدد شهادة التوقيع بملخص SHA-256 الخاص بها (أو SHA-384 / SHA-512 عندما تختار SetSignProcessDigestAlgorithm دالة تجزئة أكبر)، وتتضمن البناءات الحالية أيضًا بنية IssuerSerial الاختيارية (الاسم المميز للمُصدر مع الرقم التسلسلي) ليتمكن مدققو PAdES الأشد صرامة من مطابقة شهادة التوقيع مع سلسلة مرشحيها
الصيغة
Delphi
Function TPDFlib.SetSignProcessCustomSubFilter(SignProcessID: Integer; SubFilterStr: WideString): Integer;
ActiveX
Function PDFlib::SetSignProcessCustomSubFilter(SignProcessID As Long, SubFilterStr As String) As Long
DLL
int DLSetSignProcessCustomSubFilter(int InstanceID, int SignProcessID, const wchar_t * SubFilterStr);
المعاملات
| SignProcessID | قيمة تُرجعها الدالات NewSignProcessFromFile أو NewSignProcessFromStream أو NewSignProcessFromString |
|---|---|
| SubFilterStr | تاريخ الإنشاء (سلسلة تاريخ PDF، مثل D:20260101120000+00'00') |
قيم الإرجاع
| 0 | قيمة المعامل SignProcessID غير صالحة أو أن قيمة المعامل SubFilter خارج النطاق |
|---|---|
| 1 | Success |