bg-tutorials

OpenSSL দিয়ে SSL সার্টিফিকেটের মেয়াদ শেষ হওয়ার তারিখ কীভাবে যাচাই করবেন

SSL সার্টিফিকেটের সীমিত মেয়াদকাল থাকে এবং ব্রাউজারগুলোর কাছে বিশ্বাসযোগ্য থাকতে নিয়মিত সেগুলো রিনিউ করতে হয়। ২০২৬ সালের ১৫ মার্চের পর জারি করা পাবলিক সার্টিফিকেটগুলো ২০০ দিনের মধ্যে সীমাবদ্ধ, এবং সর্বোচ্চ মেয়াদকাল ২০২৭ সালের ১৫ মার্চ থেকে ১০০ দিনে এবং ২০২৯ সালের ১৫ মার্চ থেকে ৪৭ দিনে নেমে আসবে। একটি সার্টিফিকেট ঠিক কখন মেয়াদোত্তীর্ণ হবে তা জানা থাকলে আপনি সময়মতো রিনিউ করতে পারবেন এবং সার্ভিস বন্ধ হওয়া এড়াতে পারবেন।

এই গাইডে দেখানো হয়েছে কীভাবে OpenSSL দিয়ে সার্টিফিকেটের মেয়াদ পরীক্ষা করবেন: একটি লাইভ সার্ভারের জন্য, একটি লোকাল ফাইলের জন্য, এবং কীভাবে বুঝবেন যে কোনো সার্টিফিকেট মেয়াদোত্তীর্ণ হতে চলেছে কিনা।

সংক্ষিপ্ত উত্তর:

একটি লাইভ ওয়েবসাইটের জন্য, চালান:

echo | openssl s_client -connect yourdomain.com:443 -servername yourdomain.com 2>/dev/null | openssl x509 -noout -enddate. 

একটি সার্টিফিকেট ফাইলের জন্য, চালান:

openssl x509 -in your_certificate.pem -noout -enddate. 

notAfter মানটিই মেয়াদোত্তীর্ণ হওয়ার তারিখ।

পদ্ধতি ১: একটি লাইভ সার্ভারে সার্টিফিকেট পরীক্ষা করুন

এই পদ্ধতিতে একটি চলমান ওয়েবসাইটের সাথে সংযোগ করে সেটি যে সার্টিফিকেট সরবরাহ করছে তা পড়া হয়, আপনার সার্টিফিকেট ফাইলের প্রয়োজন নেই। এটি যে কোনো অ্যাক্সেসযোগ্য হোস্টের জন্য কাজ করে (একটি রিমোট ডোমেন, বা লোকাল সার্ভারের জন্য সঠিক পোর্টসহ localhost)।

Linux এবং macOS-এ

echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>/dev/null | openssl x509 -noout -enddate

yourdomain.com-এর জায়গায় আপনার প্রকৃত ডোমেইনটি বসান। macOS-এ কমান্ডগুলো একই রকম, কারণ macOS হলো Unix-এর মতো (এর বিল্ট-ইন openssl হলো LibreSSL, যা এই অপশনগুলো সমর্থন করে)।

Windows-এ

  • Command Prompt বা PowerShell খুলুন (Win + R চাপুন, cmd বা powershell টাইপ করুন, এবং Enter চাপুন)।
  • চালান:
echo | openssl s_client -servername yourdomain.com -connect yourdomain.com:443 2>nul | openssl x509 -noout -enddate

Windows-এ, এরর মেসেজগুলো বাদ দিতে 2>/dev/null-এর পরিবর্তে 2>nul ব্যবহার করুন।

পদ্ধতি ২: PEM ফাইল থেকে সার্টিফিকেট পরীক্ষা করুন

একটি PEM ফাইল হলো একটি base64-এনকোডেড সার্টিফিকেট যা —–BEGIN CERTIFICATE—– দিয়ে শুরু হয় এবং —–END CERTIFICATE—– দিয়ে শেষ হয়। যখন আপনার ডিস্কে সার্টিফিকেট ফাইলটি থাকে, তখন এই পদ্ধতি ব্যবহার করুন।

Linux এবং macOS-এ

আপনার সার্টিফিকেট থাকা ফোল্ডারে যান, তারপর এর মেয়াদোত্তীর্ণ হওয়ার তারিখ দেখুন (your_certificate.pem-এর জায়গায় আপনার ফাইলের নাম বসান):

cd /path/to/your/certificate/directory
openssl x509 -in your_certificate.pem -noout -enddate

Windows-এ

cd C:pathtoyourcertificatedirectory
openssl x509 -in your_certificate.pem -noout -enddate

নিশ্চিত করুন যে OpenSSL ইনস্টল করা আছে এবং আপনার PATH-এ রয়েছে; না হলে, openssl.exe বাইনারির সম্পূর্ণ পাথ উল্লেখ করুন।

দুটি তারিখই দেখুন, বা কোনো সার্টিফিকেট শীঘ্রই মেয়াদোত্তীর্ণ হচ্ছে কিনা পরীক্ষা করুন

ইস্যু করার তারিখ (notBefore) এবং মেয়াদোত্তীর্ণ হওয়ার তারিখ (notAfter) দুটোই দেখতে, -enddate-এর পরিবর্তে -dates ব্যবহার করুন:

openssl x509 -in your_certificate.pem -noout -dates

একটি সার্টিফিকেট নির্দিষ্ট সময়সীমার মধ্যে মেয়াদোত্তীর্ণ হবে কিনা তা পরীক্ষা করতে, সেকেন্ডের সংখ্যা দিয়ে -checkend ব্যবহার করুন (এখানে, 2592000 সেকেন্ড = 30 দিন):

openssl x509 -in your_certificate.pem -noout -checkend 2592000

এটি Certificate will not expire প্রিন্ট করে (এবং status 0 দিয়ে exit করে) বা Certificate will expire প্রিন্ট করে (status 1) — যা এটিকে মনিটরিং স্ক্রিপ্ট এবং cron জবের জন্য আদর্শ করে তোলে।

কমান্ড এবং আউটপুট বোঝা

উদাহরণ হিসেবে লাইভ-সার্ভার কমান্ড এবং এর আউটপুট বিবেচনা করুন:

echo | openssl s_client -servername example.com -connect example.com:443 2>/dev/null | openssl x509 -noout -enddate

আউটপুট:

notAfter=Sep 15 23:59:59 2026 GMT

এখানে প্রতিটি অংশ কী করে তা দেখানো হলো:

  • echo | — একটি খালি ইনপুট পাঠায় যাতে ইন্টারঅ্যাকশনের জন্য অপেক্ষা না করে কমান্ডটি সম্পন্ন হয়।
  • openssl s_client — সার্ভারের সাথে একটি SSL/TLS সংযোগ চালু করে।
  • -servername example.comServer Name Indication (SNI) সেট করে, যা তখন প্রয়োজন যখন একটি সার্ভার বিভিন্ন ডোমেইনের জন্য একাধিক সার্টিফিকেট হোস্ট করে।
  • -connect example.com:443 — যে হোস্ট এবং পোর্টের সাথে সংযোগ করতে হবে (port 443 হলো স্ট্যান্ডার্ড HTTPS পোর্ট)।
  • 2>/dev/null (Linux/macOS) বা 2>nul (Windows) — এরর মেসেজগুলো বাদ দেয় যাতে শুধু প্রয়োজনীয় আউটপুটটি দেখানো হয়।
  • | openssl x509 -noout -enddate — সার্টিফিকেটটিকে x509 টুলে পাইপ করে; -noout PEM ডাম্পটি বাদ দেয় এবং -enddate শুধু মেয়াদোত্তীর্ণ হওয়ার তারিখটি প্রিন্ট করে।
  • notAfter=… — সার্টিফিকেটটি কার্যকর থাকা বন্ধ হওয়ার তারিখ এবং সময়।

এটি অটোমেট করুন: হাতে হাতে তারিখ ট্র্যাক করা বন্ধ করুন

মেয়াদোত্তীর্ণ হওয়ার তারিখ হাতে হাতে পরীক্ষা করার পরিবর্তে, বিশেষ করে যখন মেয়াদকাল ৪৭ দিনের দিকে সংকুচিত হচ্ছে, আপনি ACME as Certificate-as-a-Service (CaaS) ব্যবহার করতে পারেন। এটি ডোমেইন যাচাইকরণ সামলায়, সার্টিফিকেট ইনস্টল করে, এবং মেয়াদোত্তীর্ণ হওয়ার আগে স্বয়ংক্রিয়ভাবে সেগুলো রিনিউ করে, ফলে ম্যানুয়াল হস্তক্ষেপ ছাড়াই আপনার সাইট বিশ্বাসযোগ্য থাকে।

আজ অর্ডার করার সময় SSL শংসাপত্রে 10% সংরক্ষণ করুন!

দ্রুত ইস্যু, শক্তিশালী এনক্রিপশন, 99.99% ব্রাউজার বিশ্বাস, নিবেদিত সমর্থন, এবং 25 দিনের অর্থ ফেরত গ্যারান্টি। কুপন কোড: SAVE10

উড়ন্ত একটি ড্রাগনের একটি বিস্তারিত চিত্র
লিখেছেন

SSL শংসাপত্রে বিশেষজ্ঞ অভিজ্ঞ বিষয়বস্তু লেখক। জটিল সাইবারসিকিউরিটি বিষয়গুলিকে পরিষ্কার, আকর্ষক সামগ্রীতে রূপান্তর করা। প্রভাবশালী বর্ণনার মাধ্যমে ডিজিটাল নিরাপত্তার উন্নতিতে অবদান রাখুন।