THPDFHeadlessDocument.SignToFile
function SignToFile(FieldIndex: Integer; const FileName: string;
const CertificatePEM, PrivateKeyPEM: SysUtils.TBytes;
const Options: THPDFHeadlessCMSOptions;
ReservedCMSBytes: Integer = 16384): THPDFHeadlessCMSResult;
توقّع حقل توقيع AcroForm غير موقَّع قائم وتنشر مخرجًا مستقلًا ذريًا على Linux أو Windows الأصلي
FieldIndex هو فهرس حقل النموذج ذو الأساس الصفري المعاد من FindFormField أو GetFormField، وقد يختلف عن فهرس التوقيع الموقَّع الذي تقبله VerifySignature
يجب أن تكون الشهادة والمفتاح الخاص المطابق بايتات PEM؛ والمفاتيح الخاصة المشفرة تُرفض دون مطالبة، ويُحمَّل OpenSSL 3 عبر نفس المزوّد المستخدم في HPDFSignHeadlessCMS
ReservedCMSBytes تحجز فجوة Contents سداسية عشرية ثابتة قبل حساب الـ hash؛ ويجب أن تكون موجبة وأن تتسع في ميزانية كائن المستند وأن تحتمل DER الكامل لـ CMS المولَّد
الملف التنسيقي الافتراضي هو adbe.pkcs7.detached؛ وRequireCAdES=true يكتب ETSI.CAdES.detached ويضمّن سمة شهادة التوقيع، ووثّق المستند التلقائي يصادق على ربط ESS الخاص بها، مع تقييم ثقة CA صريح منفصل
يحرر الكاتب بايتات المصدر، ويُلحق قيم الحقل البديلة وكائن توقيع جديدًا عبر كاتب xref المشترك، ويرقع خانات ByteRange ذات العرض الثابت، ويوقّع نطاقات ملف staging الفعلية، ويتحقق من CMS الناتج قبل الإفراغ والنشر الذري
كل توقيع اعتماد أقدم يحفظ بايتاته الأصلية الدقيقة؛ ونتيجة التحقق لديه تبلّغ مراجعة سابقة صالحة وعدد البايتات غير الموقَّعة اللاحقة
المصدر يُفتح للقراءة فقط، والرسم البياني للحقول المحمَّل لا يتغير بالتوقيع، وتُرفض aliases مسار المصدر أو aliases الملف الفيزيائية
الفشل يحفظ وجهة قائمة ويحذف ملف staging غير المنشور، بما يشمل الإلغاء والحجوزات غير الكافية وفشل الشهادة/المفتاح والأخطاء التشفيرية واستنفاد ميزانية كائن أو ملف
الحقول للقراءة فقط وقيم الحقول الموقَّعة وسياسات مستند مُصدَّق غير مسموحة وأذونات AES الممنوعة لملء النماذج تُرفض؛ ومصادقة المالك يمكنها التصريح بمصادر مقيدة، بينما يحفظ المخرج كلمة سر المستخدم الأصلية وسياسة الأمان
CertificationPermission من 1 إلى 3 تنشئ أول توقيع تصديق بـ Perms.DocMDP في الكتالوج وtransform بـ SigRef؛ والصفر ينشئ توقيع اعتماد، بما يشمل توقيعًا لاحقًا مسموحًا في حقل قائم تحت DocMDP بقيمة P2 أو P3
خيارات المستند وخيارات CMS يجب أن تستخدما نفس token الإلغاء إذا حدد كلاهما واحدًا؛ وإلا فإن مزوّد CMS يرث token المستند
THPDFHeadlessCMSResult المعادة تفصل السلامة عن ثقة CA المقيمة صراحة؛ ولا يُفهم منها أي استنتاج عن طابع زمني أو إبطال أو تحقق طويل الأمد
استخدم AddSignatureField وSetSignatureFieldAppearance لتجهيز widget توقيع مرئي جديد، أو SignPFXToFile لتحميل هوية PKCS12 عبر OpenSSL 3
استخدم TimestampToFile لإلحاق طابع زمني مستقل للمستند بـ RFC3161 دون هوية توقيع تطبيقية