আপনি Apigee Edge-এর ডকুমেন্টেশন দেখছেন।
Apigee X ডকুমেন্টেশন .info- তে যান।
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একই থাকে।
উপরের উদাহরণ থেকে আপনি নিশ্চিত হতে পারেন যে নমুনা সার্টিফিকেট চেইনটি বৈধ।
- প্রতিটি সার্টিফিকেটের
সার্টিফিকেটের বিষয় এবং ইস্যুকারী হ্যাশ যাচাই করা হচ্ছে
এই অংশে ব্যাখ্যা করা হয়েছে কীভাবে সার্টিফিকেটগুলোর সাবজেক্ট ও ইস্যুয়ারের হ্যাশ বের করতে হয় এবং আপনার কাছে একটি বৈধ সার্টিফিকেট চেইন আছে কিনা তা যাচাই করতে হয়।
সার্টিফিকেটের হ্যাশ সিকোয়েন্স যাচাই করা সর্বদা একটি ভালো অভ্যাস, কারণ এর মাধ্যমে সার্টিফিকেটের কমন নেমে (CN) অনাকাঙ্ক্ষিত স্পেস বা বিশেষ অক্ষর থাকার মতো সমস্যাগুলো শনাক্ত করা যায়।
-
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
উপরে দেখানো উদাহরণটিতে, নিম্নলিখিত বিষয়গুলো লক্ষ্য করুন:
উপরের উদাহরণ থেকে আপনি নিশ্চিত হতে পারেন যে নমুনা সার্টিফিকেট চেইনটি বৈধ।
সার্টিফিকেটের মেয়াদ যাচাই করা
এই বিভাগে নিম্নলিখিত পদ্ধতিগুলো ব্যবহার করে চেইনের সমস্ত সার্টিফিকেট মেয়াদোত্তীর্ণ হয়েছে কি না, তা যাচাই করার উপায় ব্যাখ্যা করা হয়েছে:
- সার্টিফিকেটটির শুরু এবং শেষ তারিখ জেনে নিন।
- মেয়াদ শেষ হওয়ার অবস্থা জানুন।
শুরু এবং শেষ তারিখ
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 বার্তাটি নির্দেশ করে যে সার্টিফিকেটটির মেয়াদ এখনও শেষ হয়নি।