सर्टिफ़िकेट चेन की पुष्टि की जा रही है

Apigee Edge दस्तावेज़ देखा जा रहा है.
Apigee X दस्तावेज़ पर जाएं.
जानकारी

इस दस्तावेज़ में बताया गया है कि Apigee Edge में किसी कीस्टोर या ट्रस्टस्टोर में सर्टिफ़िकेट अपलोड करने से पहले, सर्टिफ़िकेट की चेन की पुष्टि कैसे की जाती है. इस प्रोसेस में, सर्टिफ़िकेट की चेन की पुष्टि करने के लिए OpenSSL टूलकिट का इस्तेमाल किया जाता है. साथ ही, यह ऐसे सभी प्लैटफ़ॉर्म पर लागू होती है जहां OpenSSL उपलब्ध है.

शुरू करने से पहले

इस दस्तावेज़ में दिए गए चरणों का इस्तेमाल करने से पहले, पक्का करें कि आप इन विषयों को समझ गए हों:

  • अगर आपको सर्टिफ़िकेट की चेन के बारे में जानकारी नहीं है, तो चेन ऑफ़ ट्रस्ट पढ़ें.
  • अगर आप OpenGL लाइब्रेरी के बारे में नहीं जानते हैं, तो OpenSSL पढ़ें.
  • अगर आपको इस गाइड में कमांड लाइन के उदाहरणों का इस्तेमाल करना है, तो{9/} क्लाइंट के नए वर्शन को इंस्टॉल या अपडेट करें.
  • पक्का करें कि सर्टिफ़िकेट, PEM फ़ॉर्मैट में हैं. अगर सर्टिफ़िकेट, PEM फ़ॉर्मैट में नहीं हैं, तो उन्हें PEM फ़ॉर्मैट में बदलने के लिए, सर्टिफ़िकेट को काम करने वाले फ़ॉर्मैट में बदलना में दिए गए निर्देशों का पालन करें.

पूरी चेन के लिए, सर्टिफ़िकेट के विषय और उसे जारी करने वाले की पुष्टि करना

OpenGL के निर्देशों का इस्तेमाल करके, सर्टिफ़िकेट की चेन की पुष्टि करने के लिए, इन सेक्शन में बताए गए चरणों को पूरा करें:

सर्टिफ़िकेट की चेन को अलग-अलग किया जा रहा है

सर्टिफ़िकेट की पुष्टि करने से पहले, आपको यहां दिए गए तरीके का इस्तेमाल करके, सर्टिफ़िकेट की चेन को अलग-अलग सर्टिफ़िकेट में बांटना होगा:

  1. उस सर्वर में लॉगिन करें जहां Googlebot क्लाइंट मौजूद है.
  2. सर्टिफ़िकेट की चेन को इन सर्टिफ़िकेट में बांटें (अगर पहले से नहीं किया गया है):
    • इकाई का सर्टिफ़िकेट: entity.pem
    • इंटरमीडिएट सर्टिफ़िकेट: intermediate.pem
    • रूट सर्टिफ़िकेट: root.pem

नीचे दिए गए डायग्राम में सर्टिफ़िकेट की चेन का एक उदाहरण दिखाया गया है:

सर्टिफ़िकेट चेन फ़्लो: आइडेंटिटी सर्टिफ़िकेट से इंटरमीडिएट सर्टिफ़िकेट से लेकर रूट सर्टिफ़िकेट तक

सर्टिफ़िकेट के विषय और उसे जारी करने वाले की पुष्टि करना

इस सेक्शन में बताया गया है कि सर्टिफ़िकेट पाने के विषय और उसे जारी करने वाले की जानकारी कैसे पाएं. साथ ही, इस बात की पुष्टि करने का तरीका भी बताया गया है कि आपके पास सर्टिफ़िकेट की मान्य चेन है.

  1. चेन में हर सर्टिफ़िकेट के लिए, entity से root तक Subject और Issuer पाने के लिए, नीचे दिए गए OpenSSL कमांड को चलाएं और पुष्टि करें कि वे एक सही सर्टिफ़िकेट चेन बनाते हैं:
    openssl x509 -text -in certificate | grep -E '(Subject|Issuer):'
        

    जहां certificate, सर्टिफ़िकेट का नाम है.

  2. पुष्टि करें कि चेन में मौजूद सर्टिफ़िकेट, इन दिशा-निर्देशों के मुताबिक हैं:
    • हर सर्टिफ़िकेट का Subject, चेन में मौजूद पिछले सर्टिफ़िकेट के Issuer से मेल खाता है (Entity सर्टिफ़िकेट को छोड़कर).
    • रूट सर्टिफ़िकेट के लिए Subject और Issuer एक जैसे हैं.

    अगर चेन में मौजूद सर्टिफ़िकेट इन दिशा-निर्देशों का पालन करते हैं, तो सर्टिफ़िकेट की चेन को पूरा और मान्य माना जाता है.

    सर्टिफ़िकेट की चेन की पुष्टि का सैंपल

    नीचे दिए गए उदाहरण में, तीन सर्टिफ़िकेट वाले सैंपल सर्टिफ़िकेट चेन के लिए,{9/} कमांड का आउटपुट दिया गया है:

    इकाई का सर्टिफ़िकेट

    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 एक जैसे होते हैं.

    ऊपर दिए गए उदाहरण से, इस बात की पुष्टि की जा सकती है कि सैंपल सर्टिफ़िकेट की चेन मान्य है.

सर्टिफ़िकेट के विषय और जारी करने वाले के हैश की पुष्टि करना

इस सेक्शन में, सर्टिफ़िकेट के विषय और उसे जारी करने वाले के हैश को पाने का तरीका बताया गया है. साथ ही, इस बात की पुष्टि करने का तरीका भी बताया गया है कि आपके पास सर्टिफ़िकेट की मान्य चेन है.

सर्टिफ़िकेट के हैश क्रम की पुष्टि करना हमेशा अच्छा तरीका होता है, क्योंकि इससे सर्टिफ़िकेट के सामान्य नाम (सीएन) जैसी समस्याओं की पहचान करने में मदद मिल सकती है, जिनमें अनचाही स्पेस या विशेष वर्ण मौजूद हैं.

  1. चेन में हर सर्टिफ़िकेट का hash क्रम entity से root तक पाने के लिए, नीचे दिए गए OpenSSL कमांड को चलाएं और पुष्टि करें कि वे सर्टिफ़िकेट की एक सही चेन बनाते हैं.
  2. openssl x509 -hash -issuer_hash -noout -in certificate
        

    जहां certificate, सर्टिफ़िकेट का नाम है.

  3. पुष्टि करें कि चेन में मौजूद सर्टिफ़िकेट, इन दिशा-निर्देशों के मुताबिक हैं:
    • हर सर्टिफ़िकेट का Subject, चेन में पिछले सर्टिफ़िकेट के Issuer से मेल खाता है (Entity सर्टिफ़िकेट को छोड़कर).
    • रूट सर्टिफ़िकेट के लिए Subject और Issuer एक जैसे हैं.

    अगर चेन में मौजूद सर्टिफ़िकेट इन दिशा-निर्देशों का पालन करते हैं, तो सर्टिफ़िकेट की चेन को पूरा और मान्य माना जाता है.

    हैश सीक्वेंस के ज़रिए सर्टिफ़िकेट की चेन की पुष्टि का सैंपल

    नीचे दिए गए उदाहरण में, तीन सर्टिफ़िकेट वाले सैंपल सर्टिफ़िकेट चेन के लिए, ओपनर को दिए गए निर्देशों का आउटपुट दिया गया है:

    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
        

    ऊपर दिखाए गए उदाहरण में, यहां दी गई बातों पर ध्यान दें:

    • इंटरमीडिएट सर्टिफ़िकेट का subject hash, इकाई सर्टिफ़िकेट के issuer hash से मेल खाता है.
    • रूट सर्टिफ़िकेट का subject hash, जारी करने वाले सर्टिफ़िकेट के issuer hash से मेल खाता है.
    • रूट सर्टिफ़िकेट में subject और issuer hash एक जैसे होते हैं.

    ऊपर दिए गए उदाहरण से, इस बात की पुष्टि की जा सकती है कि सैंपल सर्टिफ़िकेट की चेन मान्य है.

सर्टिफ़िकेट की समयसीमा खत्म होने की पुष्टि की जा रही है

इस सेक्शन में, नीचे दिए गए तरीकों का इस्तेमाल करके यह पुष्टि करने का तरीका बताया गया है कि चेन के सभी सर्टिफ़िकेट की समयसीमा खत्म हो गई है या नहीं:

  • सर्टिफ़िकेट के शुरू और खत्म होने की तारीख पाएं.
  • ऐक्सेस खत्म होने की स्थिति का पता लगाएं.

शुरू और खत्म होने की तारीख

entity से root तक की चेन में हर सर्टिफ़िकेट की शुरू और खत्म होने की तारीख पाने के लिए, नीचे दिए गए OpenSSL कमांड को चलाएं और पुष्टि करें कि चेन के सभी सर्टिफ़िकेट लागू हैं (शुरू होने की तारीख आज से पहले की है) और उनकी समयसीमा खत्म नहीं हुई है.

सर्टिफ़िकेट के खत्म होने की पुष्टि का सैंपल, शुरू और खत्म होने की तारीखों के हिसाब से

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, सर्टिफ़िकेट का नाम है.

चेकएंड विकल्प की मदद से सर्टिफ़िकेट की समयसीमा खत्म होने की पुष्टि का सैंपल

इस निर्देश में 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 मैसेज से पता चलता है कि सर्टिफ़िकेट की समयसीमा खत्म नहीं हुई है.