ملف PDF الموقَّع مجرد ملف. التوقيع هو بيانات وصفية داخل ذلك الملف. وما إذا كانت تلك البيانات الوصفية تعني شيئاً قانونياً — أي ما إذا كان التوقيع أصلياً، والمستند سليماً، والمُوقِّع هو من ادّعى — هو شيء يجب على المتحقّق أن يُثبته، لا أن يفترضه. الخبر الجيد: المعايير ناضجة، والتحقق آلي، وأدوبي أكروبات يفعل معظم ذلك مجاناً. الخبر السيئ: ٩٠٪ من المستلمين يضغطون "فتح"، يرون علامة صح، ويتوقفون عن القراءة. تلك العلامة قد تُخفي شهادة منتهية الصلاحية، أو طابعاً زمنياً مفقوداً، أو توقيعاً أُضيف بعد تعديل تخريبي.
هذا ما يستلزمه فعلياً التحقق من توقيع PDF، بالترتيب الذي يتبعه المتحقّق المبنيّ بشكل صحيح.
المعيار الأوروبي الذي يحدّد ما يجب أن يحتويه توقيع PDF المتوافق — صدر ٢٠١٦، المراجعة الحالية ٢٠٢٤
لجنة ETSI الفنية للتوقيعات الإلكترونية والبنية التحتية
مواصفة ISO لملف PDF (٢٠٢٠). القسم ١٢.٨ يحدّد البنية على مستوى البايت لقاموس التوقيع المُدمَج
ISO/IEC 32000-2:2020
فحوصات تشفيرية مستقلة يجب أن يجتازها المتحقّق قبل إعلان توقيع PDF 'صالحاً'
الهاش، سلسلة الشهادة، الطابع الزمني، حالة الإلغاء
الفحوصات الأربعة، بالترتيب
التوقيع ليس فحصاً واحداً. إنه طبقة من أربعة فحوصات، كل منها ينتج نوعاً مختلفاً من الدليل. يبلّغ المتحقّق عن "صالح" فقط عندما تجتاز كلها الأربعة؛ "غير صالح" تعني أن أحدها فشل، وأيّها فشل يهمّ أكثر من النتيجة الإجمالية.
هاش المستند
يُحسب هاش SHA-256 لنطاق بايتات PDF (كل شيء عدا كتلة التوقيع نفسها). يجب أن يطابق الهاش المعاد حسابه بدقة الهاش المُختَم داخل التوقيع. تغيير بايت واحد منذ التوقيع = عدم تطابق = غير صالح.
سلسلة الشهادة
يُتحقق من شهادة التوقيع مقابل جذر شهادات موثوق. أدوبي يشحن قائمة افتراضية (Adobe Approved Trust List)؛ تضيف المؤسسات قوائمها الخاصة. إذا لم تؤدِّ السلسلة إلى جذر موثوق، المُوقِّع 'غير معروف'.
الطابع الزمني
رمز طابع زمني RFC 3161 من سلطة الطوابع الزمنية يؤكّد متى طُبِّق التوقيع. بدون هذا، يمكن لمهاجم تأريخ التوقيع بشكل رجعي إلى لحظة كانت فيها الشهادة لا تزال صالحة.
حالة الإلغاء
يجب ألا تكون شهادة التوقيع قد أُلغيت. يجلب المتحقّقون قائمة إلغاء الشهادات (CRL) أو يفحصون OCSP وقت التحقق. PAdES-LTV يُدمج هذا الدليل داخل PDF حتى يبقى قابلاً للتحقق دون اتصال.
مستويات PAdES الأساسية — اختر الفئة الصحيحة
يحدّد ETSI EN 319 142-1 أربعة مستويات أساسية لـ PAdES. وهي تراكمية — كل مستوى يشمل كل ما في المستوى الأدنى منه. المستوى الذي يصله التوقيع يحدّد نوع الهجوم الذي يقاومه، ومدة بقائه قابلاً للتحقق.
مستويات PAdES الأساسية وفق ETSI EN 319 142-1. كل مستوى أعلى يضيف دليلاً يبقى مع مرور الوقت. سهل ساين ينتج PAdES-B-T افتراضياً — كافٍ للتوقيعات الملزمة قانونياً مع وقت توقيع قابل للتحقق.
| Jurisdiction | Law | Cross-border transfer rule | Intensity |
|---|---|---|---|
| PAdES-B-B | المستوى الأساسي B-B | توقيع أساسي. هاش + شهادة. بدون طابع زمني. يتحقق فقط لحظة التوقيع؛ انتهاء الشهادة يكسر التحقق المستقبلي. | Moderate |
| PAdES-B-T | المستوى الأساسي B-T | يضيف طابعاً زمنياً مؤهَّلاً أو معترفاً به وفق RFC 3161 وقت التوقيع. لحظة التوقيع قابلة للإثبات بمعزل عن ساعة المُوقِّع. | Restricted |
| PAdES-B-LT | المستوى الأساسي B-LT | يُدمج سلسلة الشهادة وبيانات الإلغاء (CRL/OCSP) وقت التوقيع. يبقى التوقيع قابلاً للتحقق حتى بعد توقّف الـ CA. | Restricted |
| PAdES-B-LTA | المستوى الأساسي B-LTA | يضيف 'طوابع زمنية للمستند' دورية فوق التوقيع القائم. مصمَّم للحفظ الأرشيفي — قابل للإثبات لـ ١٠+ سنوات ضد تدهور الخوارزميات. | Strict |
نتيجة تحقق "صالح" بلا تحفظات تكون ذات معنى فقط عندما تنتج الفحوصات الأربعة — سلامة الهاش، سلسلة الشهادة، الطابع الزمني، حالة الإلغاء — نتيجة إيجابية. علامة صح خضراء تُغفل أيّاً من هذه مضلِّلة.
— دليل التحقق من التوقيعات من اتحاد PDF Association، ٢٠٢٠
ما يعرضه عليك أدوبي أكروبات ريدر فعلياً
أدوبي هو المتحقّق الذهبي لأن كل مستلم تقريباً على وجه الأرض يفتح ملفات PDF به، ولأن العضوية في Adobe Approved Trust List هي ما تستهدفه معظم أدوات التوقيع الإنتاجية. هذه هي جولة واجهة التحقق — الخطوات التي يجب أن يعرفها كل مستلم.
التحقق من PDF موقَّع في أدوبي أكروبات ريدر
- افتح PDF وابحث عن الشريط الأزرق في الأعلى
"موقَّع وجميع التوقيعات صالحة" تعني أن كل الفحوصات الأربعة اجتازت مقابل مخزن الثقة المحلي لديك. تحذير أصفر يعني أن واحداً على الأقل مشروط — عادةً أن جهة إصدار الشهادة ليست في قائمة الثقة لديك. شريط أحمر يعني أن فحصاً فعلياً فشل.
- انقر على لوحة التوقيعات (الشريط الأيسر) للحصول على تفصيل لكل توقيع
كل توقيع يدرج اسم المُوقِّع، ووقت التوقيع، وبصمة الشهادة. انقر بالزر الأيمن على توقيع → عرض خصائص التوقيع للحصول على السلسلة الكاملة.
- افحص مصدر الطابع الزمني تحت عرض خصائص التوقيع → الخصائص المتقدمة
ابحث عن "التوقيع مختوم زمنياً بواسطة [اسم TSA]." إذا قالت "وقت التوقيع من ساعة كمبيوتر المُوقِّع،" فالوقت غير موثوق والتوقيع متدهور إلى PAdES-B-B.
- تحقق أن جهة إصدار الشهادة تؤدّي إلى جذر موثوق
عرض خصائص التوقيع → تفاصيل الشهادة → الثقة. يجب أن تنتهي السلسلة عند CA في إما Adobe AATL أو القائمة الموثوقة الأوروبية EUTL. إذا انتهت عند "موقَّع ذاتياً" فالتوقيع لا يحمل تصديق هوية من طرف ثالث.
- تأكد من فحص حالة الإلغاء
تفاصيل الشهادة → علامة تبويب الإلغاء. "الحالة: صالحة" مع وقت فحص حديث يعني أن CA أكّدت أن الشهادة لم تُلغَ. "لم يمكن تحديدها" تعني أن شبكتك حجبت طلب OCSP/CRL.
- انقر 'عرض النسخة الموقَّعة' لرؤية المستند كما كان وقت التوقيع
هذه أهم خطوة لا يقوم بها أحد. يمكن أن تحتوي ملفات PDF على عدة مراجعات توقيع؛ التعديلات اللاحقة يمكن أن تُلحق محتوى غير موقَّع. 'النسخة الموقَّعة' هي PDF بدقة البايت الذي يشهد عليه التوقيع.
ماذا يعني توقيع "مكسور" فعلياً
يرى المستلمون "توقيع غير صالح" ويفترضون التزوير. في الممارسة العملية، أكثر أنماط الفشل شيوعاً تقنية، لا خبيثة. كل واحد منها يخبرك بشيء مختلف عن المستند.
مستند مُعبَث به
هاش تسلسل البايتات لا يطابق الهاش المُختَم. شخص ما حرّر PDF بعد التوقيع — حتى التعليق أو دوران الصفحة يكسر هذا.
- عدم تطابق هاش سلامة المستند
- "تم تعديل هذا المستند منذ التوقيع عليه"
- النسخة الموقَّعة (عرض النسخة الموقَّعة) والنسخة الحالية مختلفتان
- ارفض. اطلب الأصل من المرسل.
مُوقِّع غير معروف / شهادة غير موثوقة
الهاش جيد. الشهادة جيدة. لكن CA المصدِّرة ليست في قائمة الثقة لديك. هذا أكثر فشل شيوعاً — التوقيع يعمل، المتحقّق فقط لا يعرف الجهة المُصدِرة.
- أضف الجهة المُصدِرة إلى قائمة الثقة لديك (أكروبات: تحرير → التفضيلات → التوقيعات → الهويات والشهادات الموثوقة)
- للمستلمين لمرة واحدة، اقبل التوقيع يدوياً بعد تأكيد الهوية خارج القناة
- للتطبيق المؤسسي، اشحن قائمة الثقة مع تهيئة نقاط النهاية لديك حتى يثق بها كل الموظفين تلقائياً
- لا تنقر "ثق دائماً" دون فحص أن بصمة الشهادة تطابق ما نشره المُوقِّع
متحقّق يمكنك تشغيله محلياً
للتحقق البرمجي — فحوصات التواقيع بكميات كبيرة، تدقيقات الامتثال الآلية، تدفقات اكتشاف المحاكم — تشحن المفوضية الأوروبية DSS (خدمة التوقيع الرقمي)، تنفيذ مرجعي مفتوح المصدر لكل ملفّ توقيع ETSI. يتحقق من ملفات PDF مقابل نفس منطق أكروبات، يكشف نتائج منظَّمة (أي فحص فشل ولماذا)، ويعمل دون اتصال.
خيارات التحقق البرمجي
- EU DSS (مفتوح المصدر، Java/REST)
متحقّق المفوضية الأوروبية المرجعي. يطبّق خوارزمية التحقق الكاملة لتوقيع ETSI وينتج تقريراً مفصّلاً بالسبب الدقيق لكل فشل.
- Adobe Acrobat Pro DC — معالج الإجراءات
لفِرق الامتثال غير التقنية. ابنِ إجراءً بنقرة واحدة يفتح PDF، يتحقق من التوقيع، ويصدّر تقرير التحقق كـ JSON للتدقيق.
- نقطة نهاية /verify/[documentId] في سهل ساين
كل مستند موقَّع بسهل ساين يحمل رابط تحقق في شهادة الإكمال. أي طرف (ليس فقط المُوقِّع) يمكنه فتحه لرؤية سلسلة التدقيق، وهاش السلامة، وطابع TSA الزمني، دون الثقة بواجهتنا.
الخلاصة
ملف PDF موقَّع قابل للتحقق. هو ليس، افتراضياً، مُتحقَّقاً منه. الفرق هو نصف الثانية الذي ينفقه المستلم بالنظر إلى لوحة التوقيع — أو طلب API الذي يجريه نظام مشتريات إلى نقطة نهاية DSS قبل صرف الدفع.
الفحوصات الأربعة (الهاش، الشهادة، الطابع الزمني، الإلغاء) آلية ومحايدة لغوياً. إذا كان بإمكانك قراءة تقرير التحقق، يمكنك الدفاع عن المستند في المحكمة. إذا لم تستطع، فأنت تثق بعلامة صح لا تفهمها بالكامل.
ما ينتجه سهل ساين افتراضياً. كل PDF موقَّع يحمل طابعاً زمنياً RFC 3161 من TSA مُدرَجة في EUTL، مع الهاش الكامل لنطاق البايت مُختَماً عبر /ByteRange و PKCS#7 detached SignedData.
src/lib/pdf-seal.ts في مصدر سهل ساين
هذا يعني أن أي شخص — الطرف المقابل، محاميه، جهة تنظيمية، محكمة — يمكنه فتح PDF من سهل ساين في أي تثبيت لأكروبات ريدر وإنتاج نفس نتيجة التحقق. لا حصر للمزوّد. لا واجهة "ثق بنا". المعيار فقط.
قراءات ذات صلة
- هل التوقيع الإلكتروني قانوني في قطر؟ — النص القطري الذي يقرّر ما إذا كان التوقيع الذي تحقّقت منه سيصمد كذلك أمام محكمة قطرية.
- لماذا تهمّ الاستضافة الإقليمية للمستندات الحساسة — التحقق يؤكّد البتّات، أما الاستضافة فتقرّر أي محاكم يمكنها أن تأمر بإحضارها.
- كيف تدير مكاتب المحاماة تدفقات التوقيع — التحقّق هو الانضباط الذي صنعته بالفعل المكاتب صاحبة أنظف سجلات التدقيق.
المصادر
- ETSI EN 319 142-1 — ملفات توقيع PAdES الأساسية
- ISO 32000-2:2020 — إدارة المستندات — صيغة المستند المحمولة — الجزء ٢
- PDF Association — كيف تتحقق من ملفات PDF الموقَّعة رقمياً بشكل صحيح
- Adobe — التحقق من التوقيعات الرقمية
- GlobalSign — أفضل الممارسات للطابع الزمني في PAdES
- EU Commission DSS — متحقّق مرجعي مفتوح المصدر
- RFC 3161 — بروتوكول الطابع الزمني (TSP)
- لائحة eIDAS (EU) 910/2014، المادة 25 — الأثر القانوني للتوقيعات الإلكترونية