أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
يشرح هذا المستند كيفية التحقق من صحة سلسلة الشهادات قبل تحميل الشهادة إلى ملف تخزين مفاتيح أو مخزن شهادات في Apigee Edge. تعتمد العملية على مجموعة أدوات OpenSSL للتحقّق من صحة الشهادة. ويمكن تطبيقها على أي بيئة يتوفر فيها OpenSSL.
قبل البدء
قبل استخدام الخطوات الواردة في هذا المستند، احرص على فهم المواضيع التالية:
- إذا لم تكن على دراية بسلسلة الشهادات، يمكنك الاطّلاع على: سلسلة الثقة:
- إذا لم تكن على دراية بمكتبة OpenSSL، يُرجى قراءة OpenSSL.
- إذا كنت تريد استخدام أمثلة سطر الأوامر في هذا الدليل، فثبّت أحدث إصدار من برنامج OpenSSL.
- تأكَّد من أنّ تنسيق الشهادات هو PEM. إذا لم تكن الشهادات بتنسيق PEM، استخدم التعليمات الواردة في تحويل الشهادات إلى تنسيق متوافق لتحويلها إلى تنسيق PEM
التحقق من صحة موضوع الشهادة وجهة إصدارها للسلسلة الكاملة
للتحقق من صحة سلسلة الشهادات باستخدام أوامر OpenSSL، أكمِل الخطوات الموضّحة في الأقسام التالية:
- تقسيم سلسلة الشهادات
- التحقُّق من صاحب الشهادة وجهة إصدارها
- التحقّق من موضوع الشهادة وتجزئة جهة الإصدار
- التحقُّق من انتهاء صلاحية الشهادة
تقسيم سلسلة الشهادات
قبل التحقق من صحة الشهادة، يجب تقسيم سلسلة الشهادات إلى مجموعات منفصلة شهادات باستخدام الخطوات التالية:
- سجِّل الدخول إلى الخادم الذي يوجد فيه عميل OpenSSL.
- قسِّم سلسلة الشهادات إلى الشهادات التالية (إذا لم يسبق لك إجراء ذلك):
-
شهادة الكيان:
entity.pem
-
الشهادة المتوسطة:
intermediate.pem
-
شهادة الجذر:
root.pem
يوضّح الشكل التالي مثالاً على سلسلة الشهادات:
جارٍ التحقّق من موضوع الشهادة وجهة إصدارها
يصف هذا القسم كيفية الحصول على شهادة جهة إصدار الشهادات والتحقّق من أنّ هذه الشهادات أن لديك سلسلة شهادات صالحة.
-
شغِّل الأمر OpenSSL التالي للحصول على
Subject
Issuer
لكل شهادة في السلسلة منentity
إلىroot
والتحقق من أنها تشكل سلسلة شهادات مناسبة:openssl x509 -text -in certificate | grep -E '(Subject|Issuer):'
يكون certificate هو اسم الشهادة.
-
تحقق من أن الشهادات في السلسلة تلتزم بالإرشادات التالية:
-
تتطابق
Subject
من كل شهادة معIssuer
من الشهادة السابقة في السلسلة (باستثناء شهادةEntity
). -
Subject
وIssuer
هما نفس الشيء لشهادة الجذر.
إذا التزمت الشهادات في السلسلة بهذه الإرشادات، فسيتم اعتبار سلسلة الشهادات كاملة وصالحة.
نموذج التحقّق من صحة سلسلة الشهادات
المثال التالي هو مخرجات أوامر OpenSSL لنموذج سلسلة شهادات تحتوي على ثلاث شهادات:
شهادة الكيان
openssl x509 -text -in entity.pem | grep -E '(Subject|Issuer):' Issuer: C = US, O = Google Trust Services, CN = GTS CA 1O1 Subject: C = US, ST = California, L = Mountain View, O = Google LLC, CN = *.enterprise.apigee.com
الشهادة المتوسطة
openssl x509 -text -in intermediate.pem | grep -E '(Subject|Issuer):' Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign Subject: C = US, O = Google Trust Services, CN = GTS CA 1O1
شهادة الجذر
openssl x509 -text -in root.pem | grep -E '(Subject|Issuer):' Issuer: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign Subject: OU = GlobalSign Root CA - R2, O = GlobalSign, CN = GlobalSign
في المثال الوارد أعلاه، لاحظ ما يلي:
-
تتطابق
Subject
للشهادة المتوسطة معIssuer
لشهادة الكيان. -
تتطابق
Subject
لشهادة الجذر معIssuer
الشهادة المتوسطة. -
يتم استخدام
Subject
وIssuer
في شهادة الجذر.
من المثال أعلاه، يمكنك التأكد من صلاحية سلسلة الشهادات النموذجية.
-
تتطابق
جارٍ التحقّق من موضوع الشهادة وتجزئة جهة الإصدار.
يشرح هذا القسم كيفية الحصول على تجزئة الموضوع وجهة إصدار الشهادات التحقق من أن لديك سلسلة شهادات صالحة.
من الممارسات الجيدة دائمًا التحقق من تسلسل تجزئة الشهادات حيث يمكن أن يساعد ذلك في تحديد المشكلات مثل الاسم الشائع (CN) للشهادة التي تحتوي على مساحة غير مرغوب فيها رموز خاصة.
- شغِّل أمر OpenSSL التالي للحصول على تسلسل
hash
لكل عنوان. في السلسلة منentity
إلىroot
والتحقق من أنه لتشكيل سلسلة شهادات مناسبة. - تحقق من أن الشهادات في السلسلة تلتزم بالإرشادات التالية:
-
تتطابق
Subject
من كل شهادة معIssuer
من الشهادة السابقة الشهادة في السلسلة (باستثناء شهادةEntity
). -
Subject
وIssuer
هما نفس الشيء لشهادة الجذر. -
يتطابق
subject hash
للشهادة المتوسطة معissuer hash
للكيان الشهادة. -
تتطابق
subject hash
لشهادة الجذر معissuer hash
لشهادة جهة الإصدار. -
يتم استخدام
subject
وissuer hash
في شهادة الجذر.
openssl x509 -hash -issuer_hash -noout -in certificate
يكون certificate هو اسم الشهادة.
وإذا التزمت الشهادات في السلسلة بهذه الإرشادات، فإن سلسلة الشهادات تُعد كاملة وصالحة.
نموذج للتحقّق من صحة سلسلة الشهادات من خلال تسلسل التجزئة
المثال التالي هو مخرجات أوامر OpenSSL لنموذج سلسلة شهادات تحتوي على ثلاث شهادات:
openssl x509 -in entity.pem -hash -issuer_hash -noout c54c66ba #this is subject hash 99bdd351 #this is issuer hash
openssl x509 -in intermediate.pem -hash -issuer_hash -noout 99bdd351 4a6481c9
openssl x509 -in root.pem -hash -issuer_hash -noout 4a6481c9 4a6481c9
في المثال الوارد أعلاه، لاحظ ما يلي:
من المثال أعلاه، يمكنك التأكد من صلاحية سلسلة الشهادات النموذجية.
التحقق من انتهاء صلاحية الشهادة
يشرح هذا القسم كيفية التحقق مما إذا كانت جميع الشهادات في السلسلة منتهي الصلاحية باستخدام الطرق التالية:
- احصل على تاريخ بدء الشهادة وتاريخ انتهائها.
- تعرَّف على حالة انتهاء الصلاحية.
تاريخا البدء والانتهاء
شغِّل أمر OpenSSL التالي للحصول على تاريخَي البدء والانتهاء لكل شهادة.
في السلسلة من entity
إلى root
وتحقق من أن جميع الشهادات
في السلسلة سارية (تاريخ البدء قبل اليوم) وغير منتهية الصلاحية.
نموذج للتحقّق من انتهاء صلاحية الشهادة خلال تاريخَي البدء والانتهاء
openssl x509 -startdate -enddate -noout -in entity.pem notBefore=Feb 6 21:57:21 2020 GMT notAfter=Feb 4 21:57:21 2021 GMT
openssl x509 -startdate -enddate -noout -in intermediate.pem notBefore=Jun 15 00:00:42 2017 GMT notAfter=Dec 15 00:00:42 2021 GMT
openssl x509 -startdate -enddate -noout -in root.pem notBefore=Apr 13 10:00:00 2011 GMT notAfter=Apr 13 10:00:00 2022 GMT
حالة انتهاء الصلاحية
شغّل أمر OpenSSL التالي للتحقق مما إذا كانت الشهادة قد انتهت صلاحيتها أو
ستنتهي صلاحيتها خلال N seconds
القادم. يؤدي ذلك إلى إرجاع حالة انتهاء صلاحية ملف تعريف الارتباط
في سياق تاريخ النظام الحالي.
openssl x509 -checkend <N Seconds> -noout -in certificate
يكون certificate هو اسم الشهادة.
نموذج للتحقّق من انتهاء صلاحية الشهادة من خلال خيار إنهاء عملية التحقّق
يستخدم الأمر التالي 0 seconds
للتحقّق مما إذا كانت الشهادة صالحة.
منتهية الصلاحية أو لا:
openssl x509 -checkend 0 -noout -in entity.pem Certificate will not expire
openssl x509 -checkend 0 -noout -in intermediate.pem Certificate will not expire
openssl x509 -checkend 0 -noout -in root.pem Certificate will not expire
في هذا المثال، تشير الرسالة Certificate will not expire
إلى أنّ
أن الشهادة لم تنتهِ بعد.