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