درحال مشاهده اسناد 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 نام گواهینامه است.
نمونه اعتبارسنجی انقضای گواهینامه ازطریق گزینه checkend
فرمان زیر از 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نشان میدهد که گواهینامه هنوز منقضی نشده است.