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

আপনি Apigee Edge ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন দেখুন।
তথ্য

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

শুরু করার আগে

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

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

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

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

সার্টিফিকেট চেন ভাগ করা

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

  1. যে সার্ভারে OpenSSL ক্লায়েন্ট আছে সেখানে লগ-ইন করুন।
  2. সার্টিফিকেট চেনের মধ্যে নিম্নলিখিত সার্টিফিকেটগুলিকে আলাদা করুন (আগে থেকে করা না থাকলে):
    • এনটিটি সার্টিফিকেট: entity.pem
    • অন্তর্বর্তী সার্টিফিকেট: intermediate.pem
    • মূল সার্টিফিকেট: root.pem

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

সার্টিফিকেট চেনের ফ্লো: পরিচয় সার্টিফিকেট থেকে অন্তর্বর্তী সার্টিফিকেট থেকে মূল সার্টিফিকেট

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

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

  1. Subject এবং Issuer পেতে নিম্নলিখিত OpenSSL কমান্ড চালান এবং entity থেকে root পর্যন্ত চেনের প্রতিটি সার্টিফিকেটের জন্য সেগুলি একটি সঠিক সার্টিফিকেট চেন তৈরি করে কিনা তা যাচাই করুন:
    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 হল সার্টিফিকেটের নাম।

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