تخطَّ إلى المحتوى
getnextpdf.com

Enterprise الإصدار

التوقيع — مرجع متعمّق

هذا هو المرجع المتعمّق لمُنتِج ⁨NextPDF Enterprise⁩ طويل الأمد: كيف يُجمَّع توقيع ⁨B-LT⁩ أو ⁨B-LTA⁩، وكيف تُجمَع مادة الإبطال وتُفرَض، وكيف يُثبِّت الطابع الزمني للمستند المستندَ زمنيًا، وكيف يُفرَض حدّ ⁨Pro⁩. وهو على مستوى السلوك ومستوى العقد. لا تُسمّى أنواع تنفيذ ⁨Enterprise⁩ الملموسة هنا عمدًا؛ وتشير الصفحة إلى الحزمة العامة وسطح عقد ⁨Core⁩ فقط.

تُشحَن هذه القدرة في ⁨NextPDF Enterprise⁩ (nextpdf/enterprise) وتُفعَّل بمظروف ترخيص من طبقة ⁨Enterprise⁩. لا يُحمِّل النشرُ الذي يفتقر إلى ذلك الاستحقاق أصنافَ القدرة. قارن الإصدارات واحصل على ترخيص.

مصفوفة المستوى←الطبقة المعتمدة: ⁨B-B⁩ هو القاعدة التي يُنتجها ⁨Core⁩ و⁨Pro⁩ و⁨Enterprise⁩؛ و⁨B-T⁩ (بطابع زمني) يُنتجه ⁨Core⁩ و⁨Pro⁩ و⁨Enterprise⁩ — يشحن ⁨Core⁩ مسار الطابع الزمني وفق ⁨RFC 3161⁩، لذا لا يتطلّب ⁨B-T⁩ حزمة مدفوعة؛ و⁨B-LT⁩ و⁨B-LTA⁩ (⁨DSS⁩، و⁨VRI⁩، والطابع الزمني للمستند) يُنتجها ⁨Enterprise⁩ فقط. في نشر يقتصر على ⁨Pro⁩، يفشل طلب ⁨B-LT⁩ أو ⁨B-LTA⁩ فشلًا مغلقًا: يُرجع SignatureLevel::isAvailableInEnvironment في ⁨Core⁩ القيمة false عند غياب مُنتِج ⁨Enterprise⁩ طويل الأمد، ويثير مُنسِّق ⁨Core⁩ خطأً مُسمّى بدلًا من خفض المستوى بصمت.

مستوى ⁨PAdES⁩يضيفإصدار المُنتِج
⁨B-B⁩توقيع ⁨CMS⁩ بسمات موقّعة⁨Core⁩، ⁨Pro⁩، ⁨Enterprise⁩
⁨B-T⁩طابع زمني موثوق وفق ⁨RFC 3161⁩ على قيمة التوقيع⁨Core⁩، ⁨Pro⁩، ⁨Enterprise⁩
⁨B-LT⁩مخزن أمان المستند مع مادة التحقق⁨Enterprise⁩ فقط
⁨B-LTA⁩طابع زمني للمستند فوق ⁨DSS⁩ (الحلقة الأرشيفية)⁨Enterprise⁩ فقط

توقيع ⁨B-LT⁩ هو توقيع ⁨B-T⁩ مضافًا إليه مخزن أمان المستند. ‏⁨DSS⁩ قاموس على مستوى الفهرس (⁨Catalog⁩) يحمل أدفاق الشهادة، واستجابة ⁨OCSP⁩، و⁨CRL⁩ التي يحتاجها المُتحقّق بعد انتهاء صلاحية شهادة التوقيع — ⁨ISO 32000-2⁩ §12.8.4.3. يستخدم التحقق طويل الأمد نوعين من القواميس — مخزن ⁨DSS⁩ وقاموس الطابع الزمني للمستند — ⁨ISO 32000-2⁩ §12.8. ويُخزَّن توقيع ⁨CMS⁩ نفسه مُرمَّزًا بـ ⁨DER⁩ في /Contents — ⁨ISO 32000-2⁩ §12.8.1.

يضيف توقيع ⁨B-LTA⁩ طابعًا زمنيًا للمستند يغطي حالة المستند بأكملها، بما في ذلك ⁨DSS⁩، مكتوبًا من خلال قاموس الطابع الزمني للمستند — ⁨ISO 32000-2⁩ §12.8.5. يصف ⁨ETSI EN 319 142-2⁩ التركيب طويل الأمد نفسه — §⁨5.5⁩ — ودعم المعالج — §6.3.3.3.

  1. ابنِ السلسلة. تُشكِّل شهادة الموقّع مع أي وسائط يزوّدها المستدعي السلسلةَ، الموقّع أولًا، نحو مرساة الثقة — ⁨RFC 5280⁩ §6.1.
  2. اجمع مادة الإبطال. لكل شهادة غير جذرية، يستعلم المُنتِج من ⁨OCSP⁩ أولًا. تُبلِّغ استجابة ⁨OCSP⁩ عن good أو revoked أو unknown — ⁨RFC 6960⁩ §⁨2.2⁩ — ويحدّها زمنيًا thisUpdate/nextUpdate — ⁨RFC 6960⁩ §4.2. إذا لم يكن ⁨OCSP⁩ متاحًا، يرجع احتياطيًا إلى ⁨CRL⁩، مع دعم ⁨delta-CRL⁩؛ وتُضاف ⁨CRL⁩ قاعدية ودلتا اختيارية كمدخلَي ⁨DSS⁩ منفصلين.
  3. اكتب ⁨DSS⁩. تُكتب الشهادات واستجابات ⁨OCSP⁩ وقوائم الإبطال ⁨CRLs⁩ ككائنات دفق ⁨PDF⁩ فردية؛ وتُزال التكرارات بحسب تجزئة المحتوى. يشير قاموس ⁨DSS⁩ إليها من خلال /Certs و/OCSPs و/CRLs.
  4. ‏⁨VRI⁩ لكل توقيع (اشتراكي). يفهرس مدخل ⁨VRI⁩، مُفتَّحًا بتجزئة قيمة /Contents للتوقيع بأحرف كبيرة، الشهادات/⁨OCSP⁩/⁨CRLs⁩ المحدّدة لذلك التوقيع، مع مدخل وقت تحقّق اختياري. ‏⁨VRI⁩ مُعطَّل افتراضيًا: يوصي ⁨ETSI EN 319 142-1 V1.2.1⁩ §⁨5.4⁩ بعدم استخدام ⁨VRI⁩ في ⁨DSS⁩ للمستندات الجديدة؛ ولا تزال بعض المُتحقِّقات تعرض الحالة طويلة الأمد على نحو أفضل به، لذا فهو قابل للتفعيل من المستدعي.
  5. الطابع الزمني للمستند (⁨B-LTA⁩). بعد كتابة ⁨DSS⁩، يُلحَق قاموس /DocTimeStamp مع /SubFilter /ETSI.RFC3161 مع موضعَي ⁨ByteRange⁩ و/Contents نائبَين. بعد تجميع الملف بأكمله، يحسب المُنتِج ملخّص ⁨SHA-256⁩ فوق ⁨ByteRange⁩، ويطلب رمز ⁨RFC 3161⁩ — §⁨2.4.1⁩ — ويُضمِّن رمز ⁨DER⁩؛ ‏genTime هو لحظة إنشاء الرمز بالتوقيت ⁨UTC⁩ — §2.4.2.

يُحلّ المُنتِج وضع الإنفاذ بهذه الأسبقية: يفوز وضع الإنفاذ المُنظَّم الصريح؛ وإلا فإن قيمة منطقية صريحة (مهجورة) تُرتبط بالصارم أو المتساهل؛ وإلا فالافتراضي هو الصارم (الفشل المغلق).

في ظل الإنفاذ الصارم، يثير غياب استجابة ⁨OCSP⁩ وغياب ⁨CRL⁩ لأي شهادة غير جذرية خطأً بدلًا من إصدار تحذير فقط. يوجد افتراضي الفشل المغلق حتى لا يمكن إنتاج ⁨PDF⁩ «⁨B-LT⁩» دون أي مادة إبطال في ⁨DSS⁩ مع الاستمرار في الإعلان عن المستوى طويل الأمد. يجب اختيار سير العمل المتساهل (التحذيري فقط) صراحةً. في ظل سياسة شبكة صارمة دون اتصال، لا يجري أي جلب لـ ⁨OCSP/CRL⁩؛ بل تُستخدم فقط المادة المُضمَّنة في ⁨DSS⁩، وتُعالَج حالة انعدام المادة بقاعدة الإنفاذ نفسها.

يُثبَّت الطابع الزمني للمستند في ⁨B-LTA⁩ بشهادة ⁨TSA⁩ تنتهي صلاحيتها بدورها. تجمع الحلقة الأرشيفية، المُشغَّلة قبل ذلك الانتهاء، مادة إبطال جديدة لسلسلة شهادة ⁨TSA⁩، وتعيد كتابة ⁨DSS⁩، وتضيف اختياريًا مدخل ⁨VRI⁩ مُفتَّحًا بتجزئة شهادة ⁨TSA⁩، وتضيف طابعًا زمنيًا جديدًا للمستند فوق الحالة المُحدَّثة. يغطي كل طابع زمني جديد ما سبقه. تشغيل الحلقة وفق الجدول التزام تشغيلي؛ ويثير المُنتِج خطأً إذا طُلِبت الحلقة دون تهيئة ⁨TSA⁩ أو في ظل سياسة صارمة دون اتصال. السطح الأرشيفي الكامل موثَّق في المرجع المتعمّق للأرشيف.

سطح الـ ⁨API⁩ (العقد العام فقط)

قسم بعنوان «سطح الـ ⁨API⁩ (العقد العام فقط)»
النوعالصنفالدورالاستقرارمنذ
SignerInterfaceواجهة (NextPDF\Contracts)عقد التوقيع الأساسي في ⁨Core⁩مستقر1.0.0
LtvManagerInterfaceواجهة (NextPDF\Contracts)عقد المُنتِج طويل الأمد + الحلقة الأرشيفية الذي يُحلّ في وقت التشغيلمستقر1.0.0
TsaClientInterfaceواجهةعميل ⁨RFC 3161 TSA⁩ الذي يستدعيه المُنتِجمستقر1.0.0
SignatureLevelتعداد (NextPDF\Security\Signature)مُحدِّد ⁨B-B⁩، ⁨B-T⁩، ⁨B-LT⁩، ⁨B-LTA⁩ ومِسبار التوفّرمستقر1.0.0

SignatureLevel::requiresDss ← صحيح لأجل ⁨B-LT⁩، ⁨B-LTA⁩. ‏requiresDocumentTimestamp ← صحيح فقط لأجل ⁨B-LTA⁩. ‏requiresTimestamp ← صحيح لأجل ⁨B-T⁩، ⁨B-LT⁩، ⁨B-LTA⁩. يعتمد كود الإنتاج على هذه العقود؛ وأصناف تنفيذ ⁨Enterprise⁩ الملموسة داخلية وليست جزءًا من الـ ⁨API⁩ العامة.

الادعاءالمعيارالبند
التوقيع/الطابع الزمني مُخزَّن مُرمَّزًا بـ ⁨DER⁩ في /Contents.⁨ISO 32000-2⁩§12.8.1
يستخدم ⁨LTV⁩ مخزن ⁨DSS⁩ وقاموس الطابع الزمني للمستند.⁨ISO 32000-2⁩§12.8
‏⁨DSS⁩ هو القاموس الذي يمثّل قيمة مفتاح ⁨DSS⁩ في فهرس المستند؛ يحمل الشهادات، و⁨OCSP⁩، و⁨CRLs⁩.⁨ISO 32000-2⁩§12.8.4.3
بنية قاموس الطابع الزمني للمستند.⁨ISO 32000-2⁩§12.8.5
مدخلات ⁨DSS⁩ والطوابع الزمنية للمستند للتوقيعات طويلة الأمد.⁨ETSI EN 319 142-2⁩§5.5
يدعم المعالج مدخلات ⁨DSS⁩ والطوابع الزمنية للمستند.⁨ETSI EN 319 142-2⁩§6.3.3.3
يُرجع طلب ⁨RFC 3161⁩ قيمة ⁨TSTInfo⁩؛ وgenTime لحظة الإنشاء بالتوقيت ⁨UTC⁩.⁨RFC 3161⁩§2.4.1، §2.4.2
‏⁨OCSP good/revoked/unknown⁩ محدودًا بـ ⁨thisUpdate/nextUpdate⁩.⁨RFC 6960⁩§2.2، §4.2
مدخلات التحقق من المسار نحو مرساة ثقة.⁨RFC 5280⁩§6.1

جميع البنود مُعاد صياغتها. لا يُعيد ⁨NextPDF⁩ إنتاج النص المعياري. لا يطرح ⁨NextPDF⁩ أي ادعاء بشهادة ⁨PAdES⁩: يكتب المُنتِج بُنى متوائمة مع مستويَي ⁨B-LT⁩ و⁨B-LTA⁩ المُعرَّفَين في ⁨ETSI EN 319 142⁩؛ ولا يُدّعى أي نتيجة اختبار مطابقة ولا أي تصديق من طرف ثالث. جزء مستويات القاعدة في ⁨ETSI EN 319 142-1⁩ خارج مجموعة الأدلة المستشهَد بها، لذا فإن مرساة ⁨ETSI⁩ المستشهَد بها هي ⁨EN 319 142-2⁩، وتحمل مراسي ⁨ISO/RFC⁩ الادعاءات طويلة الأمد والادعاءات المتعلقة بالطابع الزمني — وضعية الإفصاح نفسها كما في مرجع التوقيع في ⁨Core⁩. أما ما إذا كان التوقيع المُنتَج يتحقّق فهو قرار المُتحقّق وفق مراسي ثقته وسياسة حداثة الإبطال لديه؛ يُضمِّن المُنتِج المادة ولا يؤكّد نتيجة موثوقة.

الحالات الحدّية وسلوك وضع ⁨FIPS⁩

قسم بعنوان «الحالات الحدّية وسلوك وضع ⁨FIPS⁩»
  • يجب كتابة ⁨DSS⁩ قبل الطابع الزمني للمستند؛ والطابع الزمني المكتوب قبل ⁨DSS⁩ لا يغطي مادة التحقق.
  • يثير الإنفاذ الصارم (الافتراضي) خطأً عند انعدام مادة الإبطال لشهادة غير جذرية. أما المتساهل فاشتراكي.
  • ⁨B-LTA⁩ دون تهيئة ⁨TSA⁩ يثير خطأً بدلًا من إنتاج ⁨B-LT⁩.
  • سياسة صارمة دون اتصال: لا وصول شبكي إلى ⁨OCSP/CRL/TSA⁩؛ و⁨B-LTA⁩ غير قابل للوصول في الوضع الصارم دون اتصال.
  • لرمز الطابع الزمني للمستند فضاء محجوز محدود؛ والرمز المتجاوز له يثير خطأً بدلًا من البتر.

ملف تعريف سياسة تشفير ⁨FIPS 140-3⁩ قدرة في ⁨Enterprise⁩ موثَّقة مع وحدة الأمان. لا يضيف المُنتِج طويل الأمد إلا ملخّص ⁨SHA-256⁩ المستخدم للطابع الزمني للمستند وتبادل ⁨RFC 3161⁩؛ والبدائية التوقيعية هي بدائية موقّع ⁨Core⁩. في ظل ملف ⁨FIPS⁩ تُنتَج بُنى ⁨DSS⁩ و⁨VRI⁩ والطابع الزمني للمستند نفسها؛ وينطبق القيد على خوارزميات التوقيع والملخّص، لا على تخطيط ⁨DSS⁩. حفظ المفاتيح في الأجهزة عبر ⁨PKCS#11⁩ موثَّق مع وحدة الأمان وخارج نطاق هذه الصفحة.

  • يُنتج ⁨Core B-B⁩ و⁨B-T⁩ (⁨B-T⁩ يضيف طابع ⁨RFC 3161⁩ الزمني على قيمة التوقيع). يُنتج ⁨Pro⁩ ⁨B-B⁩ و⁨B-T⁩ من خلال مكدّس ⁨Core⁩ نفسه. ⁨B-LT⁩ و⁨B-LTA⁩ من ⁨Enterprise⁩ فقط.
  • يكتب المُنتِج ⁨DSS⁩ (⁨B-LT⁩) وطابعًا زمنيًا للمستند فوق ⁨DSS⁩ (⁨B-LTA⁩). يُضمِّن مادة التحقق؛ ولا يؤكّد نتيجة تحقق موثوقة.
  • يثير افتراضي الإنفاذ الصارم للإبطال بالفشل المغلق خطأً عند انعدام مادة الإبطال لشهادة غير جذرية، ما لم يختر المستدعي سير العمل المتساهل.
  • ⁨B-LTA⁩ يتطلّب ⁨TSA⁩ مُهيَّأ؛ ومع عدم وجوده، تثير خطوة ⁨B-LTA⁩ خطأً بدلًا من التراجع إلى ⁨B-LT⁩.

في نشر يقتصر على ⁨Core⁩، يُنتج الموقّع البرمجي ⁨PAdES⁩ ⁨B-B⁩ و⁨B-T⁩ من خلال SignerInterface؛ يشحن ⁨Core⁩ مسار الطابع الزمني وفق ⁨RFC 3161⁩، لذا لا يحتاج ⁨B-T⁩ إلى أي حزمة مدفوعة. لا يملك ⁨Core⁩ أي مُنتِج ⁨DSS⁩ أو ⁨VRI⁩ أو طابع زمني للمستند؛ ويفشل طلب ⁨B-LT⁩ أو ⁨B-LTA⁩ فشلًا مغلقًا عبر إرجاع SignatureLevel::isAvailableInEnvironment القيمة false.

في نشر يقتصر على ⁨Pro⁩، يكون مسار التوقيع هو قاعدة ⁨B-B⁩/⁨B-T⁩ إضافةً إلى مسارات عمل التوقيع عن بُعد وخدمة إدارة المفاتيح السحابية (⁨KMS⁩). لا يُنتج ⁨Pro⁩ أي ⁨DSS⁩ أو طابع زمني للمستند. يحمل RemoteSigningConfig تعداد ⁨Core⁩ ‏SignatureLevel، لكن أي مستوى طويل الأمد (⁨B-LT⁩/⁨B-LTA⁩) قيمة مُعلَنة مسبقًا لا يعمل عليها ⁨Pro⁩؛ ويُحلّ المُنتِج طويل الأمد في وقت التشغيل من خلال عقد ⁨Core⁩ ويُشحَن في nextpdf/enterprise.

تبقى تفاصيل الآلية الداخلية في التوثيق الداخلي لمستودع المصدر وهي خارج نطاق هذا الدليل.

يُضمِّن ⁨NextPDF Enterprise⁩ مادة التحقق؛ ويتكامل مع مُستجيبات ⁨OCSP/CRL⁩ التي يزوّدها المستدعي ومع ⁨RFC 3161 TSA⁩. لا يشغّل تلك المُستجيبات أو الـ ⁨TSA⁩ ولا يستضيفها ولا يضمن توفّرها. تعتمد الصلاحية طويلة الأمد على المُستجيبات، و⁨TSA⁩، وجدول الحلقة الأرشيفية، والمشغِّل — لا على ⁨NextPDF Enterprise⁩ وحده. يملك المشغِّل اختيار ⁨TSA⁩ وإمكانية الوصول إليه، والوصول إلى مُستجيب الإبطال أو المادة المجموعة مسبقًا، وسياسة الشبكة، وتشغيل الحلقة الأرشيفية قبل انتهاء صلاحية كل شهادة طابع زمني.

توثّق هذه الصفحة السلوكَ القابل للرصد خارجيًا وسطحَ الـ ⁨API⁩ العام المدعوم فقط. مسارات فضاء الأسماء الداخلية، وأصناف المساعدة، وجداول الآلية، وأسماء ملفات أدلة التشغيل، وبادئات التذاكر خارج النطاق.

التوافق مع بُنى ⁨B-LT⁩ و⁨B-LTA⁩ المُعرَّفة في ⁨ETSI EN 319 142⁩ بيان بنيوي، لا رأي قانوني ولا شهادة. لا يطرح ⁨NextPDF⁩ أي ادعاء بشهادة ⁨PAdES⁩. أما ما إذا كان التوقيع المُنتَج يتحقّق فهو قرار المُتحقّق وفق مراسي ثقته وسياسة حداثة الإبطال لديه.