आपको Apigee Edge का दस्तावेज़ दिख रहा है.
Apigee X के दस्तावेज़ पर जाएं. जानकारी
इस दस्तावेज़ में, Apigee Edge में किसी कीस्टोर या ट्रस्टस्टोर में सर्टिफ़िकेट अपलोड करने से पहले, सर्टिफ़िकेट चेन की पुष्टि करने का तरीका बताया गया है. यह प्रोसेस, सर्टिफ़िकेट चेन की पुष्टि करने के लिए OpenSSL टूलकिट पर निर्भर करती है. साथ ही, यह उस हर एनवायरमेंट पर लागू होती है जहां OpenSSL उपलब्ध है.
शुरू करने से पहले
इस दस्तावेज़ में दिए गए चरणों का इस्तेमाल करने से पहले, पक्का करें कि आपको इन विषयों के बारे में जानकारी हो:
- अगर आपको सर्टिफ़िकेट चेन के बारे में नहीं पता है, तो भरोसे की चेन लेख पढ़ें.
- अगर आपको OpenSSL लाइब्रेरी के बारे में जानकारी नहीं है, तो OpenSSL पढ़ें.
- अगर आपको इस गाइड में दिए गए कमांड-लाइन के उदाहरणों का इस्तेमाल करना है, तो OpenSSL क्लाइंट का नया वर्शन इंस्टॉल करें या उसे अपडेट करें.
- पक्का करें कि सर्टिफ़िकेट PEM फ़ॉर्मैट में हों. अगर सर्टिफ़िकेट PEM फ़ॉर्मैट में नहीं हैं, तो उन्हें PEM फ़ॉर्मैट में बदलने के लिए, सर्टिफ़िकेट को काम करने वाले फ़ॉर्मैट में बदलना में दिए गए निर्देशों का पालन करें.
पूरी चेन के लिए, सर्टिफ़िकेट के विषय और जारी करने वाले की पुष्टि की जा रही है
OpenSSL कमांड का इस्तेमाल करके, सर्टिफ़िकेट चेन की पुष्टि करने के लिए, यहां दिए गए सेक्शन में बताया गया तरीका अपनाएं:
- सर्टिफ़िकेट चेन को अलग-अलग करना
- सर्टिफ़िकेट के विषय और जारी करने वाले की पुष्टि करना
- सर्टिफ़िकेट के विषय और जारी करने वाले के हैश की पुष्टि करना
- सर्टिफ़िकेट की समयसीमा खत्म होने की पुष्टि करना
सर्टिफ़िकेट चेन को अलग-अलग करना
सर्टिफ़िकेट की पुष्टि करने से पहले, आपको सर्टिफ़िकेट चेन को अलग-अलग सर्टिफ़िकेट में बांटना होगा. इसके लिए, यह तरीका अपनाएं:
- उस सर्वर में लॉगिन करें जहां OpenSSL क्लाइंट मौजूद है.
- सर्टिफ़िकेट चेन को इन सर्टिफ़िकेट में बांटें. अगर ऐसा पहले से नहीं किया गया है, तो:
-
कंपनी का सर्टिफ़िकेट:
entity.pem -
इंटरमीडिएट सर्टिफ़िकेट:
intermediate.pem -
रूट सर्टिफ़िकेट:
root.pem
यहां दिए गए डायग्राम में, सर्टिफ़िकेट चेन का एक उदाहरण दिखाया गया है:
सर्टिफ़िकेट के विषय और जारी करने वाले की पुष्टि करना
इस सेक्शन में, सर्टिफ़िकेट के विषय और जारी करने वाले व्यक्ति की जानकारी पाने का तरीका बताया गया है. साथ ही, यह पुष्टि करने का तरीका बताया गया है कि आपके पास मान्य सर्टिफ़िकेट चेन है.
-
चेन में मौजूद हर सर्टिफ़िकेट के लिए,
entityसेrootतकSubjectऔरIssuerपाने के लिए, यहां दी गई OpenSSL कमांड चलाएं. साथ ही, पुष्टि करें कि वे एक सही सर्टिफ़िकेट चेन बनाते हैं: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की वैल्यू एक जैसी होती है.
ऊपर दिए गए उदाहरण से, यह पुष्टि की जा सकती है कि सैंपल सर्टिफ़िकेट चेन मान्य है.
-
हर सर्टिफ़िकेट का
सर्टिफ़िकेट के विषय और जारी करने वाले के हैश की पुष्टि करना
इस सेक्शन में, सर्टिफ़िकेट के विषय और जारी करने वाले के हैश पाने का तरीका बताया गया है. साथ ही, यह पुष्टि करने का तरीका भी बताया गया है कि आपके पास मान्य सर्टिफ़िकेट चेन है.
सर्टिफ़िकेट के हैश सीक्वेंस की पुष्टि करना हमेशा एक अच्छा तरीका होता है. इससे ऐसी समस्याओं का पता लगाने में मदद मिल सकती है जैसे कि सर्टिफ़िकेट के सामान्य नाम (सीएन) में अनचाही जगह या खास वर्ण होना.
- चेन में मौजूद हर सर्टिफ़िकेट के लिए,
entityसेrootतक काhashक्रम पाने के लिए, यहां दिया गया OpenSSL कमांड चलाएं. साथ ही, पुष्टि करें कि वे एक सही सर्टिफ़िकेट चेन बनाते हैं. - पुष्टि करें कि चेन में मौजूद सर्टिफ़िकेट, इन दिशा-निर्देशों का पालन करते हों:
-
हर सर्टिफ़िकेट का
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
समयसीमा खत्म होने की स्थिति
यह देखने के लिए कि सर्टिफ़िकेट की समयसीमा खत्म हो गई है या अगले N seconds में खत्म होने वाली है, OpenSSL की यह कमांड चलाएं. यह फ़ंक्शन, सिस्टम की मौजूदा तारीख के हिसाब से, सर्टिफ़िकेट के खत्म होने की स्थिति दिखाता है.
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से पता चलता है कि
सर्टिफ़िकेट की समयसीमा अभी खत्म नहीं हुई है.