يتم الآن عرض مستندات Apigee Edge.
انتقِل إلى مستندات
Apigee X. المعلومات
يشرح هذا المستند طريقة التحقّق من صحة سلسلة الشهادات قبل تحميل الشهادة إلى ملف تخزين مفاتيح أو على Truststore في 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
إلى أنّ صلاحية الشهادة لم تنتهِ بعد.