0Pricing
Cryptology Academy · درس

إنشاء سلاسل الشهادات وإدارتها

ولّدوا root CAs وintermediate CAs وشهادات end-entity، مع إجراء التحقق الصحيح من السلسلة.

إنشاء سلاسل الشهادات وإدارتها درس مجاني في Cryptology Academy على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في Cryptology Academy، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

إنشاء CA الجذر

إن CA الجذر شهادة موقَّعة ذاتيًا وتعمل كمرساة الثقة النهائية. ويجب الاحتفاظ بالمفتاح الخاص لـCA الجذر دون اتصال بالشبكة، على نظام معزول عن الشبكة أو في HSM، لأن اختراقه يعرّض بنية PKI بأكملها للخطر. ينشئ الأمر "openssl req -x509 -new -nodes -key root_key.pem -sha256 -days 3650 -out root_cert.pem" شهادة جذر موقَّعة ذاتيًا صالحة لمدة 10 سنوات.

إنشاء CA وسيط

توقّع CA الجذر شهادات CA الوسيطة، وتُستخدم هذه الشهادات في إصدار الشهادات اليومية. أولًا، أنشئ مفتاح الوسيط وCSR باستخدام الأمر "openssl req -new -key intermediate_key.pem -out intermediate.csr". ثم يوقّعه CA الجذر باستخدام الأمر "openssl x509 -req -in intermediate.csr -CA root_cert.pem -CAkey root_key.pem -CAcreateserial -days 1825 -out intermediate_cert.pem".

إنشاء شهادة الكيان النهائي

توقّع CA الوسيطة شهادات الكيان النهائي (الشهادات الطرفية) لخوادم أو عملاء محددين. أنشئ مفتاح الخادم وCSR مع أسماء بديلة للموضوع (SANs)، ثم وقّعه باستخدام CA الوسيطة عبر الأمر "openssl x509 -req -in server.csr -CA intermediate_cert.pem -CAkey intermediate_key.pem -CAcreateserial -extensions v3_req -days 365 -out server_cert.pem".

سبب حماية الشهادات الوسيطة للجذر

يُحتفظ بالمفتاح الخاص لـCA الجذر دون اتصال بالشبكة، ولا يُستخدم إلا لتوقيع عدد قليل من شهادات CA الوسيطة. وتتولى CA الوسيطة المتصلة بالشبكة إصدار الشهادات اليومية. إذا اختُرقت CA وسيطة، فيمكن إبطالها واستبدالها دون اختراق الجذر. ويظل مفتاح الجذر آمنًا لأنه لم يتعرض للشبكة مطلقًا.

الأمر openssl ca

يوفر الأمر "openssl ca" سير عمل أكثر اكتمالًا لـCA مقارنةً بالأمر "openssl x509 -req". فهو يحتفظ بقاعدة بيانات للشهادات (index.txt)، ويعيّن أرقامًا تسلسلية من ملف تسلسلي، ويتولى إنشاء CRL. ويتطلب ملف إعداد openssl.cnf مناسبًا يحتوي على أقسام خاصة بـCA تحدد سياسة الشهادة وقيود طول المسار.

تجميع ملف سلسلة الشهادات

يحتوي ملف سلسلة الشهادات الكامل لخادم ويب على شهادة الكيان النهائي، تليها شهادات CA الوسيطة بالترتيب، وينتهي قبل شهادة الجذر مباشرةً. ولا تُضمَّن شهادات الجذر لأن المتصفحات تحتوي مسبقًا على مخازن للجذور. ترتيب الدمج هو: "cat server_cert.pem intermediate_cert.pem > chain.pem". ويؤدي الترتيب الخاطئ إلى فشل مصافحة TLS.

التحقق من سلسلة الشهادات

يتحقق الأمر "openssl verify -CAfile root_cert.pem -untrusted intermediate_cert.pem server_cert.pem" من السلسلة كاملةً. وتوفر الراية "-untrusted" شهادات وسيطة تنتمي إلى السلسلة، لكنها لم تصبح موثوقة بعد. إذا نجح التحقق، فسيكون الناتج "server_cert.pem: OK". وتشير الأخطاء الشائعة إلى فقدان شهادات وسيطة أو انتهاء صلاحية الشهادات.

مشكلات السلسلة الشائعة

تشمل مشكلات سلسلة الشهادات المتكررة ما يلي: فقدان الشهادات الوسيطة (إذ يرسل الخادم شهادة الكيان النهائي فقط)، وترتيب الدمج الخاطئ (يجب أن تأتي الشهادة الطرفية أولًا)، وانتهاء صلاحية شهادة وسيطة (وهو أمر يسهل تفويته لأن مراقبة انتهاء الشهادة الطرفية هي الشائعة)، ووجود شهادات موقَّعة ذاتيًا خارج مخزن الثقة، وعدم تطابق الاسم (إذ لا تتطابق SAN في الشهادة مع اسم المضيف). ويمكن تشخيص جميع هذه المشكلات باستخدام "openssl s_client -showcerts".

تنسيق الحزمة PKCS#12

إن PKCS#12 ‏(.pfx أو .p12) تنسيق حاوية يضم المفتاح الخاص وشهادة الكيان النهائي والشهادات الوسيطة في ملف مشفَّر واحد. لإنشائها، استخدم الأمر "openssl pkcs12 -export -out bundle.pfx -inkey server_key.pem -in server_cert.pem -certfile intermediate_cert.pem". ويُطلب هذا التنسيق من IIS و.NET ومخازن مفاتيح Java والعديد من تطبيقات المؤسسات.

الاختلافات بين PEM وDER وPFX

إن PEM ترميز ASCII باستخدام Base64، وهو مقروء للبشر ويدعم عدة كائنات في ملف واحد، وتستخدمه Apache وnginx وأدوات OpenSSL. أما DER فهو ترميز ثنائي، ويحتوي على كائن واحد في كل ملف، وتستخدمه Java (في عمليات استيراد JKS) وAndroid وبعض أدوات المؤسسات. وPKCS#12/PFX حاوية ثنائية مشفَّرة لعدة كائنات، ويستخدمها Windows وIIS. تعرّفوا على التنسيق المتوقع في النظام المستهدف قبل النشر.

شفافية الشهادات وإصدارها

يُطلب من CA الحديثة تسجيل جميع الشهادات التي تصدرها في سجلات شفافية الشهادات (CT) قبل تسليمها. وعند إنشاء CA خاصة للاستخدام الداخلي، لا يكون تسجيل CT مطلوبًا. أما الشهادات المتاحة للعامة، فيجب أن تحتوي على طوابع زمنية موقَّعة للشهادة (SCTs) مضمَّنة لكي تثق بها Chrome. ويمكن لـCA الخاصة اتباع سياساتها الخاصة دون متطلبات CT.

التحقق من ترتيب سلسلة الشهادات

عند تجميع ملف سلسلة شهادات TLS لخادم nginx، ما ترتيب الدمج الصحيح؟

مراجعة الدرس: إدارة سلسلة الشهادات

تكون CA الجذر موقَّعة ذاتيًا، ويُحتفظ بها دون اتصال بالشبكة، ولا توقّع إلا الشهادات الوسيطة. وتتولى الشهادات الوسيطة الإصدار اليومي. وتحتوي ملفات السلسلة على الشهادة الطرفية ثم الشهادات الوسيطة، مع حذف شهادة الجذر. تحقّقوا باستخدام "openssl verify -CAfile root.pem -untrusted intermediate.pem leaf.pem". وتضم حزم PKCS#12 المفتاح والشهادات لنظامَي Windows وJava. ويُعد ترتيب السلسلة الخاطئ سببًا شائعًا لفشل النشر، ويمكن تشخيصه باستخدام s_client -showcerts.

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

هل درس «إنشاء سلاسل الشهادات وإدارتها» مجاني؟

نعم — نص درس «إنشاء سلاسل الشهادات وإدارتها» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة Cryptology Academy، انتقل إلى CoddyKit PRO. تتضمن دورة Cryptology Academy 4 دروس في المجموع.

ماذا ستتعلم في «إنشاء سلاسل الشهادات وإدارتها»؟

ولّدوا root CAs وintermediate CAs وشهادات end-entity، مع إجراء التحقق الصحيح من السلسلة. تتمرن على Cryptology Academy مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ Cryptology Academy؟

لا تُشترط خبرة سابقة. Cryptology Academy على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «إنشاء سلاسل الشهادات وإدارتها»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس Cryptology Academy هذا؟

نعم. كل درس في Cryptology Academy يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. أساسيات سطر أوامر OpenSSL
  2. إنشاء سلاسل الشهادات وإدارتها
  3. OCSP Stapling وCertificate Transparency
  4. أتمتة Let's Encrypt وبروتوكول ACME
← العودة إلى Cryptology Academy