bg-tutorials

كيفية التحقق من تاريخ انتهاء صلاحية شهادة SSL باستخدام OpenSSL

لشهادات SSL فترات صلاحية محدودة، ويجب تجديدها بانتظام لتبقى موثوقة من قبل المتصفحات. الشهادات العامة الصادرة بعد 15 مارس 2026 محدودة بـ 200 يوم، مع انخفاض الحد الأقصى للصلاحية إلى 100 يوم في 15 مارس 2027 و 47 يومًا في 15 مارس 2029. معرفة الوقت الدقيق لانتهاء صلاحية الشهادة يساعدك على التجديد في الوقت المناسب وتجنب حالات التعطل.

يوضح لك هذا الدليل كيفية فحص تاريخ انتهاء صلاحية الشهادة باستخدام OpenSSL: للخادم المباشر، وللملف المحلي، وكيفية التحقق من قرب انتهاء صلاحية شهادة ما.

إجابة سريعة:

لموقع ويب مباشر، قم بتشغيل:

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -enddate. 

لملف شهادة، قم بتشغيل:

openssl x509 -in your_certificate.pem -noout -enddate. 

قيمة notAfter هي تاريخ انتهاء الصلاحية.

الطريقة الأولى: فحص شهادة على خادم مباشر

تتصل هذه الطريقة بموقع ويب قيد التشغيل وتقرأ الشهادة التي يقدمها، فلا تحتاج إلى ملف الشهادة. تعمل مع أي مضيف يمكن الوصول إليه (نطاق بعيد، أو localhost مع المنفذ المناسب لخادم محلي).

على Linux و macOS

echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -enddate

استبدل yourdomain.com بنطاقك الفعلي. الأوامر متطابقة على macOS، لأن macOS يشبه Unix (أداة openssl المدمجة فيه هي LibreSSL، التي تدعم هذه الخيارات).

على Windows

  • افتح موجه الأوامر أو PowerShell (اضغط على Win + R، اكتب cmd أو powershell، ثم اضغط على Enter).
  • قم بتشغيل:
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>nul | openssl x509 -noout -enddate

على Windows، استخدم 2>nul بدلاً من 2>/dev/null للتخلص من رسائل الخطأ.

الطريقة الثانية: فحص شهادة من ملف PEM

ملف PEM هو شهادة مشفرة بترميز base64 تبدأ بـ —–BEGIN CERTIFICATE—– وتنتهي بـ —–END CERTIFICATE—–. استخدم هذه الطريقة عندما يكون ملف الشهادة موجودًا على القرص.

على Linux و macOS

انتقل إلى المجلد الذي يحتوي على شهادتك، ثم اقرأ تاريخ انتهائها (استبدل your_certificate.pem باسم ملفك):

cd /path/to/your/certificate/directory
openssl x509 -in your_certificate.pem -noout -enddate

على Windows

cd C:pathtoyourcertificatedirectory
openssl x509 -in your_certificate.pem -noout -enddate

تأكد من تثبيت OpenSSL وأنه موجود في مسار PATH لديك؛ وإلا، حدد المسار الكامل لملف openssl.exe التنفيذي.

عرض كلا التاريخين، أو التحقق من قرب انتهاء صلاحية شهادة ما

لعرض تاريخ الإصدار (notBefore) وتاريخ انتهاء الصلاحية (notAfter) معًا، استخدم -dates بدلاً من -enddate:

openssl x509 -in your_certificate.pem -noout -dates

للتحقق من انتهاء صلاحية شهادة ما خلال فترة زمنية معينة، استخدم -checkend مع عدد من الثواني (هنا، 2592000 ثانية = 30 يومًا):

openssl x509 -in your_certificate.pem -noout -checkend 2592000

يعرض Certificate will not expire (ويخرج بالحالة 0) أو Certificate will expire (بالحالة 1) — وهو ما يجعلها مثالية لسكريبتات المراقبة ووظائف cron.

فهم الأمر والمخرجات

لنأخذ أمر الخادم المباشر ومخرجاته كمثال:

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -enddate

المخرجات:

notAfter=Sep 15 23:59:59 2026 GMT

وفيما يلي وظيفة كل جزء:

  • echo | — يرسل إدخالًا فارغًا حتى ينتهي الأمر دون الانتظار للتفاعل.
  • openssl s_client — يفتح اتصال SSL/TLS بالخادم.
  • -servername example.com — يحدد مؤشر اسم الخادم (SNI)، وهو مطلوب عندما يستضيف خادم عدة شهادات لنطاقات مختلفة.
  • -connect example.com:443 — المضيف والمنفذ المطلوب الاتصال بهما (المنفذ 443 هو منفذ HTTPS القياسي).
  • 2>/dev/null (على Linux/macOS) أو 2>nul (على Windows) — يتخلص من رسائل الخطأ ليظهر فقط الناتج ذو الصلة.
  • | openssl x509 -noout -enddate — يمرر الشهادة إلى أداة x509؛ يقوم -noout بحذف تفريغ PEM ويعرض -enddate فقط تاريخ انتهاء الصلاحية.
  • notAfter=… — التاريخ والوقت الذي تصبح فيه الشهادة غير صالحة.

أتمتة العملية: توقف عن تتبع التواريخ يدويًا

بدلاً من التحقق من تواريخ انتهاء الصلاحية يدويًا، خصوصًا مع تقلص فترات الصلاحية إلى 47 يومًا، يمكنك استخدام ACME كخدمة شهادات (CaaS). فهي تتولى التحقق من النطاق، وتقوم بتثبيت الشهادات، وتجديدها تلقائيًا قبل انتهاء صلاحيتها، مما يحافظ على موقعك موثوقًا دون الحاجة لتدخل يدوي.

وفِّر 10% على شهادات SSL عند الطلب اليوم!

إصدار سريع، وتشفير قوي، وثقة في المتصفح بنسبة 99.99%، ودعم مخصص، وضمان استرداد المال خلال 25 يومًا. رمز القسيمة: SAVE10

صورة مفصلة لتنين أثناء طيرانه

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