সার্টিফিকেট চেইন যাচাই করা হচ্ছে

আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন
.info- তে যান।

Apigee Edge-এর কীস্টোর বা ট্রাস্টস্টোরে সার্টিফিকেট আপলোড করার আগে কীভাবে একটি সার্টিফিকেট চেইন যাচাই করতে হয়, তা এই ডকুমেন্টে ব্যাখ্যা করা হয়েছে। এই প্রক্রিয়াটি সার্টিফিকেট চেইন যাচাই করার জন্য OpenSSL টুলকিটের উপর নির্ভর করে এবং এটি এমন যেকোনো পরিবেশে প্রযোজ্য যেখানে OpenSSL উপলব্ধ আছে।

শুরু করার আগে

এই নথিতে বর্ণিত ধাপগুলো ব্যবহার করার আগে, নিম্নলিখিত বিষয়গুলো আপনি ভালোভাবে বুঝেছেন কিনা তা নিশ্চিত করুন:

  • আপনি যদি সার্টিফিকেট চেইন সম্পর্কে পরিচিত না হন, তাহলে ‘চেইন অফ ট্রাস্ট’ পড়ুন।
  • আপনি যদি OpenSSL লাইব্রেরির সাথে পরিচিত না হন, তাহলে OpenSSL পড়ুন।
  • আপনি যদি এই নির্দেশিকায় থাকা কমান্ড-লাইন উদাহরণগুলো ব্যবহার করতে চান, তাহলে OpenSSL ক্লায়েন্টের সর্বশেষ সংস্করণটি ইনস্টল বা আপডেট করুন।
  • সার্টিফিকেটগুলো PEM ফরম্যাটে আছে কিনা তা নিশ্চিত করুন। যদি সার্টিফিকেটগুলো PEM ফরম্যাটে না থাকে, তবে সেগুলোকে PEM ফরম্যাটে রূপান্তর করার জন্য ‘সার্টিফিকেটগুলোকে সমর্থিত ফরম্যাটে রূপান্তর করা’ অংশের নির্দেশাবলী ব্যবহার করুন।

সম্পূর্ণ চেইনের জন্য সার্টিফিকেটের বিষয় এবং ইস্যুকারীকে যাচাই করা হচ্ছে

OpenSSL কমান্ড ব্যবহার করে সার্টিফিকেট চেইন যাচাই করতে, নিম্নলিখিত বিভাগগুলিতে বর্ণিত ধাপগুলি সম্পূর্ণ করুন:

সার্টিফিকেট চেইন বিভক্ত করা

সার্টিফিকেটটি যাচাই করার আগে, আপনাকে নিম্নলিখিত ধাপগুলো অনুসরণ করে সার্টিফিকেট চেইনটিকে আলাদা আলাদা সার্টিফিকেটে বিভক্ত করতে হবে:

  1. যে সার্ভারে OpenSSL ক্লায়েন্টটি রয়েছে, সেখানে লগইন করুন।
  2. সার্টিফিকেট চেইনটিকে নিম্নলিখিত সার্টিফিকেটগুলিতে বিভক্ত করুন (যদি আগে থেকে করা না থাকে):
    • সত্তার শংসাপত্র: entity.pem
    • ইন্টারমিডিয়েট সার্টিফিকেট: intermediate.pem
    • রুট সার্টিফিকেট: root.pem

নিম্নোক্ত চিত্রে একটি সার্টিফিকেট চেইনের উদাহরণ দেখানো হয়েছে:

certificate chain flow: Identity certificate to Intermediate certificate to Root certificate

সার্টিফিকেটের বিষয় এবং ইস্যুকারী যাচাই করা

এই অংশে বর্ণনা করা হয়েছে কীভাবে সার্টিফিকেটগুলোর সাবজেক্ট ও ইস্যুকারীকে খুঁজে বের করতে হয় এবং আপনার কাছে একটি বৈধ সার্টিফিকেট চেইন আছে কিনা তা যাচাই করতে হয়।

  1. entity থেকে root পর্যন্ত চেইনের প্রতিটি সার্টিফিকেটের Subject এবং Issuer পেতে এবং সেগুলি একটি সঠিক সার্টিফিকেট চেইন গঠন করে কিনা তা যাচাই করতে নিম্নলিখিত OpenSSL কমান্ডটি চালান:
    openssl x509 -text -in certificate | grep -E '(Subject|Issuer):'
        

    যেখানে certificate হলো সার্টিফিকেটটির নাম।

  2. যাচাই করুন যে চেইনের সার্টিফিকেটগুলো নিম্নলিখিত নির্দেশিকাগুলো মেনে চলে:
    • প্রতিটি সার্টিফিকেটের 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) অনাকাঙ্ক্ষিত স্পেস বা বিশেষ অক্ষর থাকার মতো সমস্যাগুলো শনাক্ত করা যায়।

  1. entity থেকে root পর্যন্ত চেইনের প্রতিটি সার্টিফিকেটের hash সিকোয়েন্স পেতে এবং সেগুলো একটি সঠিক সার্টিফিকেট চেইন গঠন করে কিনা তা যাচাই করতে নিম্নলিখিত OpenSSL কমান্ডটি চালান।
  2. openssl x509 -hash -issuer_hash -noout -in certificate
        

    যেখানে certificate হলো সার্টিফিকেটটির নাম।

  3. যাচাই করুন যে চেইনের সার্টিফিকেটগুলো নিম্নলিখিত নির্দেশিকাগুলো মেনে চলে:
    • প্রতিটি সার্টিফিকেটের Subject চেইনের পূর্ববর্তী সার্টিফিকেটের Issuer সাথে মিলে যায় ( Entity সার্টিফিকেট ব্যতীত)।
    • রুট সার্টিফিকেটের ক্ষেত্রে Subject এবং Issuer একই।

    যদি সনদ শৃঙ্খলের অন্তর্ভুক্ত সনদগুলো এই নির্দেশিকাগুলো মেনে চলে, তাহলে সনদ শৃঙ্খলটিকে সম্পূর্ণ ও বৈধ বলে গণ্য করা হয়।

    হ্যাশ সিকোয়েন্সের মাধ্যমে নমুনা সার্টিফিকেট চেইন যাচাইকরণ

    নিম্নলিখিত উদাহরণটি তিনটি সার্টিফিকেট সম্বলিত একটি নমুনা সার্টিফিকেট চেইনের জন্য 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
        

    উপরে দেখানো উদাহরণটিতে, নিম্নলিখিত বিষয়গুলো লক্ষ্য করুন:

    • ইন্টারমিডিয়েট সার্টিফিকেটের 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 বার্তাটি নির্দেশ করে যে সার্টিফিকেটটির মেয়াদ এখনও শেষ হয়নি।