ماذا تثبت شهادة TLS؟
شهادة TLS وثيقة X.509 (RFC 5280) تربط مفتاحاً عاماً بالأسماء المدرجة في subjectAltName لمدة محدودة، وتوقّعها جهة الإصدار. ولا يقبلها المتصفح إلا إذا كانت تواريخها سارية، وظهر الاسم الذي طلبه في SAN (RFC 9525)، وأوصلت التواقيع إلى جذر يحمله أصلاً؛ فالشهادة وحدها لا تثبت شيئاً قبل فحص هذه السلسلة وهذه الأسماء.
ملاحظة أمنية: الشهادة عامة، أما المفتاح الخاص المقابل لها فيجب ألا يغادر الخادم أبداً: لا تلصق مفتاحاً خاصاً في أي صفحة ويب، واستبدل أي شهادة ربما انكشف مفتاحها.
كيفية استخدام فاحص شهادة SSL
- أدخل اسم المضيف (www.example.com) أو عنوان IP أو رابطاً كاملاً. غيّر المنفذ إن لم تكن الخدمة على 443، أو اكتب host:port.
- إذا أدخلت عنوان IP فاكتب اسم الموقع في حقل اسم الخادم (SNI) ليعيد الخادم شهادة ذلك الموقع لا شهادته الافتراضية.
- اضغط «فحص الشهادة». إن كان الموقع يمر عبر Cloudflare فستخبرك الصفحة فوراً؛ عندها الصق الشهادة بدلاً من ذلك (صدّرها من قائمة القفل في المتصفح بصيغة PEM).
- اقرأ الملخص والملاحظات أولاً، ثم حقول الشهادة. ولفحص الشهادات الوسيطة افتح فاحص سلسلة الشهادات.
مزايا فاحص شهادة SSL
- يقرأ الشهادة التي يقدّمها الخادم فعلاً: يفتح خادم متقن مصافحة TLS مع المضيف والمنفذ ويفكّ رسالة Certificate بنفسه، في TLS 1.3 كما في TLS 1.2
- يفكّ شهادة PEM الملصوقة داخل متصفحك بالكامل دون إرسال أي شيء، للمواقع التي لا يصل إليها الخادم وللشهادات التي لم تُركَّب بعد
- الأيام المتبقية ونافذة الصلاحية والجهة المُصدِرة وأسماء SAN والمفتاح العام وخوارزمية التوقيع والرقم التسلسلي وبصمتا SHA-256 وSHA-1 في عرض واحد
- يطابق اسم المضيف مع مدخلات SAN كما تفعل المتصفحات (RFC 9525): حرف البدل يغطي مستوى واحداً فقط، ولا يُعتدّ بالاسم الشائع CN إلا عند غياب SAN
- حقل لاسم الخادم (SNI) يطلب من عنوان IP شهادة موقع بعينه، فتستطيع فحص الخادم الأصلي خلف شبكة CDN مباشرة
- ملاحظات واضحة لما يحتاج إلى إجراء: شهادة منتهية أو لم يبدأ سريانها، تجديد مستحق خلال 30 يوماً أو 7 أيام، اسم لا تغطيه الشهادة، توقيع SHA-1، مفتاح RSA قصير، غياب الغرض serverAuth
- تفاصيل الاتصال (العنوان والبروتوكول ومجموعة التشفير وALPN والأزمنة) والشهادة بصيغة PEM جاهزة للنسخ أو التنزيل
المدخلات والمخرجات
المدخلات
- اسم المضيف أو الرابط: اسم أو عنوان IPv4 أو IPv6 أو host:port أو [IPv6]:port أو رابط كامل (يُؤخذ منه المضيف والمنفذ الصريح ويُتجاهل المسار).
- المنفذ: 443 ما لم تعمل الخدمة على غيره (8443، أو 993 لـ IMAPS، أو 465 لـ SMTPS…)؛ ولا يُتصل بالمنفذ 25 أبداً.
- اسم الخادم (SNI) اختيارياً: اسم الموقع المطلوب حين يكون المضيف عنواناً، أو لاختبار موقع واحد على خادم مشترك.
- أو شهادة PEM ملصوقة (حتى 256 KB من النص): عند وجودها لا يُجلب شيء؛ تُقرأ أول كتلة CERTIFICATE يمكن فكّها، وإن مُلئ حقل المضيف فيُطابَق اسمه معها فقط.
المخرجات
- الملخص: الأيام المتبقية وتاريخ الانتهاء وهل تغطي الشهادة المضيف (وكيف) والجهة المُصدِرة والمفتاح.
- الملاحظات: المشكلات التي تستحق إجراءً بجمل واضحة، أو سطر يقول إن هذه الفحوص لم تجد شيئاً.
- الشهادة: الموضوع وقائمة SAN والجهة المُصدِرة والصلاحية بتوقيت UTC والمفتاح وخوارزمية التوقيع والرقم التسلسلي والبصمات واستخدامات المفتاح وعناوين OCSP والجهات المُصدِرة وCRL وعدد SCT المضمّنة.
- الاتصال (في الفحص المباشر فقط): العنوان الذي اتُّصل به والمنفذ وSNI المرسل والبروتوكول ومجموعة التشفير المتفاوض عليهما وALPN وزمنا المصافحة وDNS وعدد الشهادات المرسلة، إضافة إلى الشهادة بصيغة PEM.
مثال على فاحص شهادة SSL
شهادة المثال لـ www.example.com ملصوقةً (فُحصت في 14 أكتوبر 2026)
الإدخال:
اسم المضيف: www.example.com
الشهادة الملصوقة: -----BEGIN CERTIFICATE----- MIICmzCCAkGgAwIBAgIUOw09… -----END CERTIFICATE----- (مثال الصفحة، صادرة عن «Example Issuing CA R1»)النتيجة:
الأيام المتبقية 7291 · صالحة حتى 2046-10-01 · تغطي هذا المضيف ✓ (مدرج في SAN) · صادرة عن Example Issuing CA R1 · المفتاح EC P-256 (256 بت)
الملاحظات: لم تجد أي من الفحوص أعلاه مشكلة. أما ثقة المتصفح بالجهة المُصدِرة وإلغاء الشهادة فلا يُفحصان هنا.
أسماء SAN: www.example.com, example.com · خوارزمية التوقيع ecdsa-with-SHA256 · الاستخدام الممتد serverAuth
ملاحظة: فُكّت الشهادة في متصفحك ولم يُرسَل شيء.كيف تقرأ نتائج فاحص شهادة SSL
الأيام المتبقية عدد الأيام الكاملة حتى notAfter بتوقيت UTC. أقل من 30 يوماً تنبيه للتأكد من جدولة التجديد، وأقل من 7 أيام يعني جدّد الآن، والرقم السالب يعني أن المتصفحات ترفض الشهادة بالفعل.
علامة ✓ مع «مدرج في SAN» هي النتيجة الوحيدة التي تقبلها المتصفحات. «الاسم الشائع فقط» يعني أن الشهادة بلا SAN، فترفضها المتصفحات الحديثة وإن بدا الاسم صحيحاً. و✗ تعني أن الاسم الذي فحصته غير مغطّى؛ فحرف البدل لا يغطي النطاق المجرد ولا مستويين.
✓ في «اسم المُصدِر يساوي الموضوع» تعني أن الشهادة ذاتية الإصدار (مقارنة أسماء لا فحص توقيع). هذا متوقع في شهادة جذر، وخطأ في موقع عام.
خلوّ الملاحظات من المشكلات يعني أن التواريخ والاسم وطول المفتاح وخوارزمية التجزئة في التوقيع والغرض سليمة. ولا يعني أن الشهادة موثوقة أو غير ملغاة: لا مخزن جذور هنا ولا استعلام OCSP أو CRL.
متى تستخدم فاحص شهادة SSL
- التأكد من أن الشهادة المجددة هي التي يقدّمها الخادم فعلاً، بمقارنة تاريخ الانتهاء والبصمة الجديدين بعد النشر.
- معرفة سبب ظهور تحذير الاسم لبعض الزوار: www تعمل والنطاق المجرد لا يعمل، أو نطاق فرعي جديد غائب عن قائمة SAN.
- فحص شهادة الخادم الأصلي خلف شبكة CDN بإدخال عنوان IP الخاص به مع اسم الموقع في SNI.
- فكّ ملف شهادة أُرسل إليك (من طلب لدى جهة إصدار أو تصدير من موازن الأحمال) قبل تركيبه، دون رفعه إلى أي مكان.
- فحص خدمات على منافذ أخرى، مثل IMAPS على 993 أو موقع تجريبي على 8443، لا تعرضها أدوات المتصفح.
استكشاف الأخطاء وإصلاحها
- «يمر عبر Cloudflare»: يعمل الفحص على Cloudflare Worker، والمنصة تمنع الاتصالات المباشرة بعناوين Cloudflare. الصق الشهادة بدلاً من ذلك، أو افحص خادمك الأصلي بعنوان IP مع اسم الموقع في SNI.
- «No TLS service answered» أو «did not answer with TLS»: المنفذ مغلق أو محجوب، أو يتحدث نصاً عادياً (المنفذ 80، أو منفذ بريد يتطلب STARTTLS أولاً مثل 25 و587). استخدم منفذ TLS المباشر (443 أو 465 أو 993 أو 995) أو افحص المنفذ بفاحص منافذ TCP.
- «refused the TLS handshake (alert: handshake_failure)»: لا يتشارك الخادم والمجسّ مجموعة تشفير أو إصدار بروتوكول، أو يطلب الخادم شهادة عميل. جرّب فاحص إعدادات TLS لمعرفة الإصدارات التي يقبلها.
- تعود شهادة غير متوقعة: اختار الخادم شهادته الافتراضية لأن SNI لم يطابق أحد مواقعه. تحقق من كتابة اسم المضيف أو املأ حقل اسم الخادم (SNI).
- «لم يُعثر على شهادة» عند اللصق: انسخ الكتلة كاملة بسطري BEGIN وEND. ويجب تحويل ملف .cer أو .der الثنائي إلى PEM (نص Base64) أولاً.
الأسئلة الشائعة حول فاحص شهادة SSL
كيف أعرف تاريخ انتهاء شهادة SSL لموقعي؟
أدخل اسم النطاق واضغط «فحص الشهادة»: يظهر عدد الأيام المتبقية وتاريخ الانتهاء في أعلى النتيجة، والتاريخ الكامل بتوقيت UTC في حقل «صالحة حتى». وإن كان الموقع خلف Cloudflare فصدّر الشهادة من قائمة القفل في المتصفح والصقها هنا.
لماذا ترفض الأداة فحص موقعي لأنه يستخدم Cloudflare؟
يعمل الفحص على Cloudflare Workers ويحتاج إلى اتصال TCP مباشر ليقرأ المصافحة، والمنصة تمنع الاتصالات المباشرة بنطاقات عناوين Cloudflare نفسها؛ لذلك لا يمكن فحص أي موقع يُحَل اسمه إلى Cloudflare من هنا مهما كان إعداده. الصق الشهادة لتُفكّ في متصفحك، أو أدخل عنوان IP لخادمك الأصلي مع اسم موقعك في حقل SNI.
هل تعني النتيجة السليمة أن المتصفحات تثق بشهادتي؟
لا. ليس لدى الأداة مخزن جذور ولا تفحص إلغاء الشهادة. هي تعرض ما تقوله الشهادة، وهل تواريخها سارية، وهل تغطي اسم المضيف. أما ثقة المتصفح فتتوقف على الجذور التي يحملها، وهذا ما لا تراه الصفحة.
لماذا تظهر الشهادة غير مطابقة لاسم النطاق مع أنها تبدو صحيحة؟
لا يُعتدّ إلا بمدخلات SAN، ويُتجاهَل الاسم الشائع CN متى وُجدت. وحرف البدل *.example.com يغطي مستوى واحداً فقط: يطابق www.example.com لكنه لا يطابق example.com ولا a.b.example.com. تأكد أن الاسم الذي يكتبه الزوار، بـ www أو بدونها، مدرج كما هو.
ما الفرق بين SSL وTLS؟
SSL هو الاسم القديم للبروتوكول، وقد توقف استخدام كل إصداراته منذ سنوات؛ ما تستخدمه المواقع اليوم هو TLS 1.2 وTLS 1.3. بقي اسم «شهادة SSL» شائعاً، لكن الشهادة نفسها شهادة X.509 تُستخدم مع TLS.
متى يجب أن أجدد الشهادة؟
جدّدها بهامش كافٍ واجعل التجديد آلياً. بموجب قرار CA/Browser Forum رقم SC-081v3، الذي أُقرّ في 11 أبريل 2025، لا تزيد صلاحية شهادة TLS العامة على 200 يوم إن صدرت ابتداءً من 15 مارس 2026، ثم 100 يوم ابتداءً من 15 مارس 2027، ثم 47 يوماً ابتداءً من 15 مارس 2029؛ فيصبح التجديد اليدوي غير عملي. اعتبر أقل من 30 يوماً تحذيراً وأقل من 7 أيام حالة عاجلة.
ملاحظات تقنية
الشهادات من نوع X.509 v3 وفق ملف RFC 5280: الصلاحية من notBefore إلى notAfter، والأسماء في امتداد subjectAltName، أما keyUsage وextendedKeyUsage وauthorityInfoAccess (OCSP والجهات المُصدِرة) ونقاط توزيع CRL فتحدد ما يجوز استخدام الشهادة فيه وأين تُنشر حالتها. تفكّ الصفحة بايتات DER بقارئ ASN.1 خاص بها وتعرض الحقول كما كُتبت.
تُطابَق أسماء المضيفين كما يفرض RFC 9525 (الذي حلّ محل RFC 6125) والمتصفحات: تُقارن أسماء DNS في SAN دون تمييز حالة الأحرف، ولا يُقبل حرف البدل إلا مستوى أول كاملاً يغطي مستوى واحداً، ويجب أن يظهر عنوان IP كمدخل IP في SAN، ولا يُرجع إلى الاسم الشائع إلا إذا خلت الشهادة من SAN.
في الفحص المباشر يرسل خادم متقن رسالة ClientHello خاصة به عبر مقبس TCP مباشر. في TLS 1.2 تنتقل رسالة Certificate دون تشفير، وفي TLS 1.3 (RFC 8446) تكون مشفّرة، فيُجري الخادم تبادل المفاتيح X25519 أو P-256 الذي عرضه، ويشتق مفاتيح المصافحة ويفكّها. ثم تُترك المصافحة دون إكمال؛ لا يُرسَل سوى ClientHello.
البصمتان هما خلاصتا SHA-256 وSHA-1 لترميز DER، بالصيغة المفصولة بنقطتين التي تعرضها المتصفحات، لتقارنهما بما يظهر في متصفحك أو في نظام المراقبة لديك.
الحدود ومنهجية القياس
موضع القياس: يتصل الفحص المباشر من مركز بيانات Cloudflare الذي يخدم طلبك، لا من جهازك. والخادم الذي يجيب بحسب المنطقة أو يحجب عناوين مراكز البيانات قد يُظهر لزوارك شيئاً آخر.
لا يمكن فحص المضيفات التي تُحَل أسماؤها إلى شبكة Cloudflare فحصاً مباشراً أصلاً، وهي نسبة كبيرة من المواقع، لأن المنصة ترفض المقابس المباشرة إلى تلك العناوين.
لا مخزن جذور ولا فحص إلغاء: لا تقول الصفحة أبداً إن الشهادة موثوقة، ولا ترى الإلغاء عبر OCSP أو CRL. ولا يُستعلم عن سجلات شفافية الشهادات؛ يُعرض فقط عدد SCT المضمّنة في الشهادة.
تُقرأ المصافحة بعرض المجسّ نفسه (TLS 1.3 مع AES-GCM، أو TLS 1.2 فما دون)، لذلك قد يرفضه خادم لا يقبل إلا مجموعات أخرى مع أن المتصفحات تتصل به.
الأمان والخصوصية
تُفكّ الشهادة الملصوقة في متصفحك ولا تغادره. في الفحص المباشر يصل المضيف والمنفذ واسم الخادم إلى خادم متقن، فيحلّ الاسم ويفتح اتصالاً واحداً به، ولا يُخزَّن شيء عن الهدف ولا عن النتيجة. الشهادات بيانات عامة، لكن لا تلصق مفتاحاً خاصاً أبداً؛ فالصفحة ترفض أي نص يحتوي عليه.
المراجع
- RFC 5280: Internet X.509 Public Key Infrastructure Certificate and Certificate Revocation List (CRL) Profileملف الشهادات التي يستخدمها TLS: نافذة الصلاحية، وامتدادات subjectAltName واستخدام المفتاح والقيود الأساسية، وخوارزمية التحقق من المسار التي تربط الشهادة بجهة إصدارها.
- RFC 9525: Service Identity in TLSكيف يتحقق العميل من أن الشهادة تحمل اسم الخادم الذي قصده: أسماء DNS في subjectAltName، وحرف بدل لمستوى واحد فقط، ودون الرجوع إلى الاسم الشائع. يحلّ محل RFC 6125.
- RFC 8446: The Transport Layer Security (TLS) Protocol Version 1.3مصافحة TLS 1.3 وبروتوكول السجلات اللذان يحميان حركة HTTPS.