bg-tutorials

উবুন্টুতে CSR জেনারেট করার পদ্ধতি

এই টিউটোরিয়ালে দেখানো হয়েছে কীভাবে Ubuntu-তে CSR তৈরি করবেন, বিশেষত SSH-এর মাধ্যমে সংযুক্ত একটি Ubuntu-ভিত্তিক Apache সার্ভারে। Ubuntu এই কাজের জন্য OpenSSL ব্যবহার করে, তাই আপনি একটি কমান্ডে দুটি কাজ একসাথে করবেন: একটি নতুন প্রাইভেট কী এবং তার সাথে মিলে যাওয়া CSR (Certificate Signing Request)। আপনি সাবজেক্ট সংক্রান্ত তথ্যগুলো ফ্ল্যাগ হিসেবে দিতে পারেন, যার ফলে পুরো প্রক্রিয়াটি একটি মাত্র লাইনে কপি-পেস্ট করার মতো সহজ হয়ে যায়।

নিচের ধাপগুলো প্রতিটি সমর্থিত Ubuntu সংস্করণে কাজ করে (22.04, 24.04, এবং 26.04 LTS), কারণ প্রতিটিতে OpenSSL 3.x থাকে। এগুলো 20.04-এর মতো পুরনো সংস্করণেও কাজ করে, যেখানে OpenSSL 1.1.1 ছিল, যদিও 20.04-এর স্ট্যান্ডার্ড সাপোর্ট শেষ হয়ে গেছে। আধুনিক OpenSSL ডিফল্টভাবে SHA-256 দিয়ে অনুরোধটি সাইন করে, তাই আপনাকে আলাদা করে কোনো ডাইজেস্ট ফ্ল্যাগ যোগ করার প্রয়োজন নেই।

ধাপ ১: আপনার Ubuntu সার্ভারে প্রবেশ করুন

আপনার লোকাল মেশিন থেকে SSH-এর মাধ্যমে সার্ভারে সংযুক্ত হোন (macOS বা Linux-এ Terminal, অথবা Windows-এ PowerShell বা Windows Terminal)। ইউজার নেম এবং হোস্ট নিজের তথ্য দিয়ে প্রতিস্থাপন করুন:

ssh your-user@your-ubuntu-server

যে সার্ভারটি সার্টিফিকেট হোস্ট করবে, সেই একই সার্ভারে CSR তৈরি করুন। প্রাইভেট কী CSR-এর পাশাপাশি তৈরি হয় এবং এটি সেই সার্ভারেই থাকতে হবে, তাই লোকালভাবে এই কমান্ডগুলো চালিয়ে পরে কী স্থানান্তর করলে এর মূল উদ্দেশ্যই ব্যর্থ হয়ে যায়।

ধাপ ২: প্রাইভেট কী এবং CSR তৈরি করুন

নিচের কমান্ডটি চালান। এটি একটি ধাপেই ২০৪৮-বিট RSA কী এবং একটি CSR তৈরি করে, যেখানে সাবজেক্ট এবং Subject Alternative Names (SAN) ইনলাইনভাবে দেওয়া থাকে, ফলে OpenSSL কোনো প্রশ্ন জিজ্ঞেস করার জন্য থামে না:

openssl req -new -newkey rsa:2048 -nodes 
-keyout yourdomain.key 
-out yourdomain.csr 
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com" 
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

প্রতিটি অংশ কী করে:

  • -newkey rsa:2048 একটি নতুন ২০৪৮-বিট RSA কী তৈরি করে। সর্বজনীন সার্টিফিকেটের জন্য ২০৪৮-বিট বর্তমান ন্যূনতম মান; আপনি চাইলে বড় কীয়ের জন্য rsa:4096 ব্যবহার করতে পারেন, অথবা ECDSA-এ পরিবর্তন করতে পারেন (নিচে দেখুন)।
  • -nodes প্রাইভেট কীটিকে এনক্রিপ্ট না করেই রাখে, যাতে Apache স্টার্টআপের সময় কোনো পাসফ্রেজ প্রম্পট ছাড়াই এটি পড়তে পারে।
  • -keyout এবং -out প্রাইভেট কী এবং CSR ফাইলের নাম নির্ধারণ করে।
  • -subj সার্টিফিকেটের সাবজেক্ট তথ্য সরবরাহ করে। এখানে প্লেসহোল্ডার নয়, আপনার প্রকৃত কোম্পানির নাম, রাজ্য এবং শহর দিন। CN (Common Name) হলো আপনার প্রাথমিক ডোমেইন।
  • -addext “subjectAltName=…” সার্টিফিকেট যেসব হোস্টনেম কভার করবে তার তালিকা দেয়। পাবলিক CA-গুলো SAN তালিকার বিপরীতে যাচাই করে, তাই Common Name-টিও এখানে অন্তর্ভুক্ত করুন।

সর্বত্র yourdomain.com-এর জায়গায় আপনার আসল ডোমেইন বসান। অতিরিক্ত হোস্টনেম কভার করতে, সেগুলো কমা দিয়ে আলাদা করে SAN তালিকায় যোগ করুন, যেমন DNS:api.yourdomain.com। ওয়াইল্ডকার্ডের জন্য, ওয়াইল্ডকার্ড এবং সাধারণ ডোমেইন উভয়ই অন্তর্ভুক্ত করুন: DNS:*.yourdomain.com,DNS:yourdomain.com

যদি আপনি ECDSA কী পছন্দ করেন (আকারে ছোট এবং দ্রুততর, P-256 ব্যাপকভাবে সমর্থিত), তাহলে এভাবে কী এবং CSR তৈরি করুন:

openssl req -new -newkey ec -pkeyopt ec_paramgen_curve:prime256v1 -pkeyopt ec_param_enc:named_curve -nodes 
-keyout yourdomain.key 
-out yourdomain.csr 
-subj "/C=US/ST=YourState/L=YourCity/O=YourCompany/CN=yourdomain.com" 
-addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

ধাপ ৩: আপনার ফাইলগুলো খুঁজে বের করুন

বর্তমান ডিরেক্টরির তালিকা দেখে নিশ্চিত করুন যে উভয় ফাইলই তৈরি হয়েছে:

ls

আপনি দুটি নতুন ফাইল দেখতে পাবেন:

  • yourdomain.key: আপনার প্রাইভেট কী। এটি সার্ভারে রাখুন, নিরাপদে ব্যাকআপ নিন, এবং কখনো কারো কাছে পাঠাবেন না, এমনকি Certificate Authority-কেও নয়। যার কাছে এই কী থাকবে, সে আপনার সাইটের ছদ্মবেশ ধারণ করতে পারবে।
  • yourdomain.csr: আপনার Certificate Signing Request। এই ফাইলটিই আপনি SSL প্রদানকারীর কাছে জমা দেবেন।

ধাপ ৪: CSR যাচাই করুন (ঐচ্ছিক তবে সুপারিশকৃত)

জমা দেওয়ার আগে, নিশ্চিত করুন যে CSR-এ সঠিক সাবজেক্ট ও SAN রয়েছে এবং এর স্বাক্ষর বৈধ। এটি OpenSSL দিয়ে অনুরোধটি স্থানীয়ভাবে ডিকোড করে:

openssl req -noout -text -verify -in yourdomain.csr

নিশ্চিত করুন যে Subject লাইনে আপনার তথ্য দেখাচ্ছে, X509v3 Subject Alternative Name-এ আপনার প্রত্যাশিত সমস্ত হোস্টনেম তালিকাভুক্ত আছে, এবং স্বাক্ষর যাচাইয়ে verify OK দেখাচ্ছে। স্বাক্ষর অ্যালগরিদম হিসেবে sha256WithRSAEncryption (অথবা ECDSA কীয়ের জন্য ecdsa-with-SHA256) দেখানো উচিত। আপনি যদি কমান্ড লাইন ব্যবহার করতে না চান, তাহলে একই তথ্য ব্রাউজারে দেখতে আমাদের অনলাইন CSR ডিকোডার-এ CSR-টি পেস্ট করুন।

ধাপ ৫: আপনার CSR জমা দিন

আপনার অর্ডারের জন্য CSR কপি করতে, এর কনটেন্ট প্রিন্ট করুন:

cat yourdomain.csr

আপনি এই ধরনের একটি টেক্সট ব্লক দেখতে পাবেন:

-----BEGIN CERTIFICATE REQUEST-----
MIIBozCB... (a long string of characters)
-----END CERTIFICATE REQUEST-----

পুরো ব্লকটি কপি করুন, যার মধ্যে —–BEGIN CERTIFICATE REQUEST—– এবং —–END CERTIFICATE REQUEST—– লাইন দুটিও অন্তর্ভুক্ত (প্রতিটি চিহ্নের উভয় পাশে পাঁচটি করে হাইফেন থাকে)। পুরো ব্লকটিই আপনার CSR। কেনাকাটার সময় এটি অর্ডার ফর্মে পেস্ট করুন, এবং মিলে যাওয়া প্রাইভেট কীটি সার্ভারে রেখে দিন।

আপনি যদি কমান্ড লাইন ব্যবহার করতে না চান, তাহলে আমাদের অনলাইন CSR জেনারেটর দিয়েও অনুরোধটি তৈরি করতে পারেন। মনে রাখবেন, এটি আপনার ব্রাউজারে প্রাইভেট কী তৈরি করে, তাই সেই কীটি নিজে সংরক্ষণ করুন এবং সার্ভারে স্থানান্তর করুন।

আপনার CA যখন CSR যাচাই করে সার্টিফিকেট ইস্যু করবে, তখন Ubuntu SSL ইনস্টলেশন নির্দেশনা অনুসরণ করে এগিয়ে যান।

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

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

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

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