أنت تعرض مستندات Apigee Edge.
انتقل إلى
مستندات Apigee X. معلومات
يشرح هذا المستند كيفية التحقق من صحة سلسلة الشهادات قبل تحميل الشهادة إلى ملف تخزين مفاتيح أو مخزن شهادات في Apigee Edge. تعتمد العملية على مجموعة أدوات OpenSSL للتحقّق من صحة الشهادة. ويمكن تطبيقها على أي بيئة يتوفر فيها OpenSSL.
قبل البدء
قبل استخدام الخطوات الواردة في هذا المستند، احرص على فهم المواضيع التالية:
- إذا لم تكن على دراية بسلسلة الشهادات، يمكنك الاطّلاع على: سلسلة الثقة:
- إذا لم تكن على دراية بمكتبة OpenSSL، يُرجى قراءة OpenSSL.
- إذا كنت تريد استخدام أمثلة سطر الأوامر في هذا الدليل، فثبّت أحدث إصدار من برنامج OpenSSL.
- تأكَّد من أنّ تنسيق الشهادات هو PEM. إذا لم تكن الشهادات بتنسيق PEM، استخدم التعليمات الواردة في تحويل الشهادات إلى تنسيق متوافق لتحويلها إلى تنسيق PEM
التحقق من صحة موضوع الشهادة وجهة إصدارها للسلسلة الكاملة
للتحقق من صحة سلسلة الشهادات باستخدام أوامر OpenSSL، أكمِل الخطوات الموضّحة في الأقسام التالية:
- تقسيم سلسلة الشهادات
- التحقُّق من صاحب الشهادة وجهة إصدارها
- التحقّق من موضوع الشهادة وتجزئة جهة الإصدار
- التحقُّق من انتهاء صلاحية الشهادة
تقسيم سلسلة الشهادات
قبل التحقق من صحة الشهادة، يجب تقسيم سلسلة الشهادات إلى مجموعات منفصلة شهادات باستخدام الخطوات التالية:
- سجِّل الدخول إلى الخادم الذي يوجد فيه عميل OpenSSL.
- قسِّم سلسلة الشهادات إلى الشهادات التالية (إذا لم يسبق لك إجراء ذلك):
-
شهادة الكيان:
entity.pem -
الشهادة المتوسطة:
intermediate.pem -
شهادة الجذر:
root.pem
يوضّح الشكل التالي مثالاً على سلسلة الشهادات:
جارٍ التحقّق من موضوع الشهادة وجهة إصدارها
يصف هذا القسم كيفية الحصول على شهادة جهة إصدار الشهادات والتحقّق من أنّ هذه الشهادات أن لديك سلسلة شهادات صالحة.
-
شغِّل الأمر OpenSSL التالي للحصول على
SubjectIssuerلكل شهادة في السلسلة من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إلى أنّ
أن الشهادة لم تنتهِ بعد.