مفكّك شهادة X.509

يمكن لصق شهادة بصيغة PEM أو بترميز Base64 لبايتات DER. تقرأ الصفحة حقولها وتعرض بصمتي SHA-1 وSHA-256، ولا تتحقق من التوقيع ولا من سلسلة الثقة.

مجانية تعمل داخل متصفحك آخر مراجعة: الثلاثاء، 30 جمادى الأولى 1448 بعد الهجرة

كتلة PEM تبدأ بالسطر -----BEGIN CERTIFICATE----- أو ترميز Base64 لبايتات DER. إذا احتوى النص على أكثر من شهادة، تُقرأ الأولى.

النتيجة

الصلاحية — تُقارن بتاريخ اليوم في منطقتك الزمنية. الأخضر يعني أن الشهادة صالحة اليوم.
الإصدار — الشهادات من الإصدار 3 تحمل امتدادات (RFC 5280).
الرقم التسلسلي — الرقم الذي منحته الجهة المُصدِرة للشهادة، بالنظام السداسي عشري.
خوارزمية التوقيع — الخوارزمية التي وقّعت بها الجهة المُصدِرة الشهادة.
الجهة المُصدِرة — الجهة التي وقّعت الشهادة.
صاحب الشهادة — الجهة التي صدرت الشهادة لها.
لا تكون صالحة قبل — أول لحظة تكون فيها الشهادة صالحة، بالتوقيت العالمي UTC.
لا تكون صالحة بعد — آخر لحظة تكون فيها الشهادة صالحة، بالتوقيت العالمي UTC.
المفتاح العام — خوارزمية المفتاح وحجمه.
استخدام المفتاح — ما يجوز أن يُستخدم له المفتاح (RFC 5280، القسم 4.2.1.3).
الاستخدام الموسّع للمفتاح — الأغراض التي صدرت الشهادة لأجلها (RFC 5280، القسم 4.2.1.12).
الأسماء البديلة لصاحب الشهادة — أسماء المضيفات والعناوين وعناوين البريد التي تغطيها الشهادة.
القيود الأساسية — هل يجوز للشهادة أن توقّع شهادات أخرى، وكم مستوى تحتها.
الامتدادات — كل الامتدادات بترتيب الشهادة. الحرجة منها مُعلَّمة.
بصمة SHA-1 — ملخص SHA-1 لبايتات DER. ما زالت القوائم القديمة تطبعه.
بصمة SHA-256 — ملخص SHA-256 لبايتات DER. قارن هذه القيمة عندما تحتاج إلى يقين.

تعمل هذه الأداة داخل متصفحك. ما تكتبه فيها لا يُرسل إلينا.

طريقة الاستخدام

  1. الصق الشهادة في الشهادة: كتلة PEM كاملة، أو ترميز Base64 وحده.
  2. اقرأ صاحب الشهادة والجهة المُصدِرة لتعرف لمن الشهادة ومن وقّعها.
  3. تحقق من الصلاحية. تحسب الصفحة الأيام المتبقية من تاريخ اليوم في منطقتك الزمنية.
  4. قارن بصمة SHA-256 بالقيمة التي ينشرها الموقع أو المورّد أو سلطة الشهادات قبل أن تثق بالشهادة.

ماذا تقول الشهادة

شهادة X.509 (RFC 5280) تربط مفتاحاً عاماً باسم، وتوقّعها جهة مُصدِرة. تُكتب بصيغة ASN.1 DER، وهي شجرة من قيم موسومة. كتلة PEM هي صيغة DER نفسها مكتوبة بترميز Base64 بين سطري BEGIN وEND (RFC 7468). تقرأ الصفحة الشجرة بقارئ DER صغير خاص بها، وتعرض كل حقل.

Certificate ::= SEQUENCE { tbsCertificate, signatureAlgorithm, signatureValue }
TBSCertificate ::= SEQUENCE { version [0], serialNumber, signature, issuer,
                              validity, subject, subjectPublicKeyInfo, ..., extensions [3] }

ما الذي لا تتحقق منه الصفحة

لا تتحقق الصفحة من التوقيع، ولا تبني السلسلة حتى جذر موثوق، ولا تفحص إن كانت الشهادة قد أُلغيت، ولا تتصل بالمضيف. قد تبدو الشهادة صالحة هنا ثم يرفضها المتصفح أو الخادم. وتحتاج هذه الفحوص إلى المفتاح العام للجهة المُصدِرة وإلى مخزن ثقة، وهذه الصفحة لا تملكهما.

تُحسب الأيام المتبقية من تاريخ اليوم حتى يوم تاريخ ”لا تكون صالحة بعد“، ويُحتسب اليومان معاً. والشهادة الملغاة قبل ذلك التاريخ تُظهر تواريخها هنا، لأن الصفحة لا تقرأ قائمة إلغاء ولا تسأل جهة OCSP.

البصمات

البصمة ملخص لبايتات DER كلها. شهادتان لهما بصمة SHA-256 نفسها هما الشهادة نفسها. وSHA-1 لم يعد مقاوماً للتصادم، لذا قارن بصمة SHA-256 عندما تحتاج إلى يقين؛ وتظهر بصمة SHA-1 لأن كثيراً من القوائم القديمة ما زال يطبعها.

مثال محلول: الشهادة الوسيطة E5 من Let's Encrypt (الافتراضية)

الشهادة الافتراضية هي الوسيطة E5 من Let's Encrypt، وقّعتها ISRG Root X2 بخوارزمية ECDSA على المنحنى P-384. تقرأ الصفحة هذه الحقول منها. أما حالة الصلاحية فتتوقف على التاريخ الذي تقرأ فيه، لذلك لم تُدرج في الجدول؛ والحقول الأخرى هي نفسها كل يوم.

الحقل القيمة
الإصدار 3
الرقم التسلسلي 18:6E:75:D4:EE:B0:A0:5D:FD:2D:A8:20:86:5D:1E:31
خوارزمية التوقيع ECDSA مع SHA-384 (1.2.840.10045.4.3.3)
الجهة المُصدِرة C=US, O=Internet Security Research Group, CN=ISRG Root X2
صاحب الشهادة C=US, O=Let's Encrypt, CN=E5
لا تكون صالحة قبل 13 مارس 2024، 00:00:00 UTC
لا تكون صالحة بعد 12 مارس 2027، 23:59:59 UTC
المفتاح العام منحنى إهليلجي P-384، 384 بت
استخدام المفتاح توقيع رقمي، توقيع الشهادات، توقيع قائمة الإلغاء (CRL)
الاستخدام الموسّع للمفتاح توثيق عميل TLS، توثيق خادم TLS
القيود الأساسية سلطة شهادات: نعم، طول المسار 0
بصمة SHA-256 E7:88:D1:4B:04:36:B5:12:0B:BE:E3:F1:5C:15:BA:DF:08:C1:40:7F:E7:25:68:A4:F1:6F:91:51:C3:80:E1:E3

الأسئلة الشائعة

لماذا تقول الصفحة إن شهادتي صالحة، بينما يقول متصفحي إنها غير صالحة؟

تقرأ الصفحة التواريخ والحقول فقط. أما المتصفح فيتحقق أيضاً من التوقيع، ومن السلسلة حتى جذر موثوق، ومن اسم المضيف، ومن الإلغاء. وهذه الفحوص تحتاج إلى بيانات لا تملكها هذه الصفحة.

ما الفرق بين بصمتي SHA-1 وSHA-256؟

هما ملخصان لبايتات DER نفسها. SHA-1 لم يعد يقاوم التصادم، لذلك تُقارن بصمة SHA-256 عندما تحتاج إلى يقين. وتظهر بصمة SHA-1 لأن كثيراً من القوائم القديمة ما زالت تطبعها.

ماذا تحتوي كتلة PEM التي تبدأ بـ BEGIN CERTIFICATE؟

تغلّف صيغة PEM (RFC 7468) بايتات DER للشهادة بترميز Base64، بين سطر BEGIN وسطر END يحملان الوسم CERTIFICATE. وتقبل الصفحة أيضاً نص Base64 وحده.

لماذا يُعرض حجم المفتاح بالبت في RSA، ومنحنى في ECDSA؟

يوصف مفتاح RSA بطول معامله بالبت. أما مفتاح ECDSA فيوصف بمنحناه، مثل P-256 أو P-384، وهو الذي يحدد حجم المفتاح.

ماذا يعني سلطة شهادات: نعم، طول المسار 0؟

يجوز للشهادة أن توقّع شهادات الكيانات النهائية، ولا توجد بعدها سلطات شهادات وسيطة تحتها (RFC 5280، القسم 4.2.1.9). والقيود الأساسية تُقرأ من الشهادة، ولا تُراجع مقابل سلسلة.

هل ترسل الصفحة شهادتي إلى أي جهة؟

لا. تُقرأ بايتات DER وتُحسب البصمات في متصفحك. لا يُرفع شيء ولا يُحفظ، ولا تتصل الصفحة بالمضيف المذكور في الشهادة.

المصادر

آخر مراجعة للأرقام والنص: الثلاثاء، 30 جمادى الأولى 1448 بعد الهجرة.

نستخدم ملفات تعريف ارتباط ضرورية لتشغيل الموقع. وبموافقتك، تستخدم Google أيضاً ملفات تعريف ارتباط للإعلانات، لعرض إعلانات مخصصة. وإذا رفضتها، فستظل ترى إعلانات، لكنها لن تكون مخصصة لك.