এই টিউটোরিয়ালে দেখানো হয়েছে macOS-এ কীভাবে একটি CSR (সার্টিফিকেট সাইনিং রিকোয়েস্ট) তৈরি করবেন। এতে বর্তমান প্রতিটি macOS সংস্করণে কাজ করে এমন দুটি পদ্ধতি অন্তর্ভুক্ত রয়েছে: Keychain Access-এর Certificate Assistant উইজার্ড (একটি বিল্ট-ইন গ্রাফিক্যাল টুল, অতিরিক্ত কোনো সফটওয়্যার লাগে না), এবং টার্মিনালে openssl কমান্ড লাইন। এতে পুরনো macOS Server (Server.app) ওয়ার্কফ্লোও রাখা হয়েছে, যারা এখনও Monterey-তে এটি ব্যবহার করছেন তাদের জন্য।
গুরুত্বপূর্ণ: Apple ২১ এপ্রিল, ২০২২ তারিখে macOS Server অ্যাপটি বন্ধ করে দিয়েছে। শেষ সংস্করণ, 5.12.2, শুধুমাত্র macOS Monterey পর্যন্ত চলে এবং Ventura, Sonoma, Sequoia, বা তার পরবর্তী সংস্করণের জন্য উপলব্ধ নয়। বেশিরভাগ হোস্টিং সার্ভিস (ওয়েব, মেইল, ক্যালেন্ডার, কন্টাক্টস, উইকি, VPN, DHCP, DNS এবং অন্যান্য) ইতিমধ্যে ২০১৮ সালে সংস্করণ 5.7.1-এ Server.app থেকে সরিয়ে ফেলা হয়েছিল, তাই এমনকি Monterey-তেও “Get a trusted certificate” উইজার্ডটিই এখনও উপস্থিত থাকা একমাত্র সার্টিফিকেট-সম্পর্কিত ওয়ার্কফ্লো। আপনি যদি Ventura বা তার নতুন সংস্করণে থাকেন, তাহলে নিচের Keychain Access বা OpenSSL পদ্ধতি ব্যবহার করুন।
পদ্ধতি ১: Keychain Access দিয়ে CSR তৈরি করুন (বর্তমান macOS)
আপনি যদি ইতিমধ্যে অন্য কোনো টুল দিয়ে আপনার CSR তৈরি করে থাকেন, তাহলে macOS-এ সার্টিফিকেট ইনস্টল করা-এ চলে যান।
Keychain Access macOS-এর প্রতিটি সংস্করণের সাথে আসে এবং এতে একটি Certificate Assistant অন্তর্ভুক্ত রয়েছে যা একটি স্ট্যান্ডার্ড PKCS #10 CSR ফাইল তৈরি করে (এক্সটেনশন .certSigningRequest)। প্রাইভেট কী একই সময়ে আপনার login কিচেইনের ভেতরে তৈরি হয়, তাই এটি কখনো Mac থেকে বের হয় না। আপনি যদি কমান্ড লাইন ব্যবহার করতে না চান, তাহলে এটিই সবচেয়ে সহজ পদ্ধতি।
ধাপ ১: Keychain Access খুলুন
Applications > Utilities থেকে Keychain Access খুলুন, অথবা Cmd + Space চেপে Spotlight-এ Keychain Access লিখুন।
macOS Sequoia, Sonoma এবং Ventura-তে, Keychain Access এখনও উপস্থিত থাকে, যদিও Apple-এর নতুন Passwords অ্যাপ ওয়েবসাইট পাসওয়ার্ড পরিচালনা করে। Certificate Assistant শুধুমাত্র Keychain Access-এ থাকে, তাই এই অ্যাপটিই খুলতে হবে।
ধাপ ২: Certificate Assistant খুলুন
মেনু বারে, Keychain Access > Certificate Assistant > Request a Certificate From a Certificate Authority-তে যান।
ধাপ ৩: আপনার তথ্য পূরণ করুন
Certificate Assistant উইন্ডো কয়েকটি ফিল্ড চায়। শুধুমাত্র স্ট্যান্ডার্ড ASCII অক্ষর ব্যবহার করুন; সাবজেক্টে অ-ল্যাটিন অক্ষর থাকলে পাবলিক CA গুলো তা প্রত্যাখ্যান করবে।
- User Email Address: একটি বৈধ যোগাযোগের ইমেইল ঠিকানা। পাবলিক CA গুলো এটি ইস্যুয়েন্স নোটিফিকেশনের জন্য ব্যবহার করে।
- Common Name: আপনি যে সম্পূর্ণ যোগ্য ডোমেইন নাম সুরক্ষিত করতে চান, যেমন www.example.com। ওয়াইল্ডকার্ড সার্টিফিকেটের জন্য, অ্যাস্টেরিস্ক ফর্ম ব্যবহার করুন, যেমন *.example.com।
- CA Email Address: খালি রাখুন। আপনি ইমেইলের মাধ্যমে নয়, বরং আপনার CA-এর অর্ডার ফর্মের মাধ্যমে CSR জমা দেবেন।
- Request is: Saved to disk নির্বাচন করুন। Let me specify key pair information-এ টিক দিন যাতে পরবর্তী স্ক্রিনে আপনি কী টাইপ এবং সাইজ বেছে নিতে পারেন।
Continue-তে ক্লিক করুন। macOS আপনাকে একটি সেভ লোকেশন জিজ্ঞাসা করবে; এমন একটি ফোল্ডার বেছে নিন যা আপনি পরে আবার খুঁজে পাবেন (যেমন Desktop)। ডিফল্ট ফাইলনেম হলো CertificateSigningRequest.certSigningRequest; সেভ করার আগে আপনি এটির নাম পরিবর্তন করতে পারেন।
ধাপ ৪: কী পেয়ার নির্বাচন করুন
Key Pair Information স্ক্রিনে, আপনি যে কী টাইপ এবং সাইজ CA কে সার্টিফিকেটের সাথে বাঁধতে চান তা বেছে নিন:
- Key Size: 2048 bits (পাবলিক সার্টিফিকেটের বর্তমান সর্বনিম্ন) অথবা বড় RSA কী-এর জন্য 4096 bits। পুরনো 1024-বিট কী প্রতিটি পাবলিক CA দ্বারা প্রত্যাখ্যাত হয়, তাই সেগুলো বেছে নেবেন না।
- Algorithm: সর্বোচ্চ সামঞ্জস্যতার জন্য RSA, অথবা একটি আধুনিক এলিপটিক-কার্ভ কী-এর জন্য ECC (ছোট এবং দ্রুততর, বিস্তৃত ক্লায়েন্ট সাপোর্ট সহ)।
Continue-তে ক্লিক করুন। Certificate Assistant কী পেয়ার তৈরি করে, আপনার লগইন কিচেইনে প্রাইভেট কী সংরক্ষণ করে, আপনার বেছে নেওয়া ফাইলে CSR লেখে, এবং একটি নিশ্চিতকরণ স্ক্রিন দেখায়। Done-এ ক্লিক করুন।
এখন CSR আপনার CA-তে জমা দেওয়ার জন্য প্রস্তুত। আপনি এটি দেখার জন্য TextEdit-এ .certSigningRequest ফাইলটি খুলতে পারেন; এটি -----BEGIN CERTIFICATE REQUEST----- দিয়ে শুরু হয় এবং -----END CERTIFICATE REQUEST----- দিয়ে শেষ হয়। সম্পূর্ণ ব্লকটি কপি করুন (ওই হেডার এবং ফুটার লাইনসহ) এবং আপনার ক্রয়ের সময় অর্ডার ফর্মে পেস্ট করুন।
জমা দেওয়ার আগে, ফিল্ডগুলো ঠিক দেখাচ্ছে কিনা তা নিশ্চিত করতে আমাদের CSR Decoder দিয়ে রিকোয়েস্টটি ডিকোড করতে পারেন।
পদ্ধতি ২: টার্মিনালে OpenSSL দিয়ে CSR তৈরি করুন
আপনি যদি কমান্ড লাইন পছন্দ করেন, অথবা আপনার একটি রিকোয়েস্টে একাধিক হোস্টনেম সহ Subject Alternative Name (SAN) তালিকার প্রয়োজন হয়, তাহলে টার্মিনালে openssl টুল দিয়ে CSR তৈরি করুন। প্রতিটি আধুনিক macOS-এ /usr/bin/openssl-এ LibreSSL কমান্ড আসে, যা Linux-এ ব্যবহৃত একই openssl req সিনট্যাক্স সমর্থন করে। আপনি যদি নিজে OpenSSL পছন্দ করেন, তাহলে brew install openssl@3 দিয়ে এটি ইনস্টল করুন; তারপর বাইনারিটি /opt/homebrew/opt/openssl@3/bin/openssl-এ (Apple silicon) অথবা /usr/local/opt/openssl@3/bin/openssl-এ (Intel) থাকবে।
ধাপ ১: টার্মিনাল খুলুন
Applications > Utilities থেকে Terminal খুলুন, অথবা Cmd + Space চেপে Terminal লিখুন। এমন একটি ফোল্ডারে যান যা আপনি পরে আবার খুঁজে পাবেন, যেমন Desktop-এ একটি ওয়ার্কিং ডিরেক্টরি:
mkdir -p ~/Desktop/csr
cd ~/Desktop/csr
ধাপ ২: প্রাইভেট কী এবং CSR তৈরি করুন
নিচের কমান্ডটি চালান। এটি একই সাথে একটি নতুন 2048-বিট RSA কী (yourdomain.key) এবং মিলে যাওয়া CSR (yourdomain.csr) তৈরি করে, সাবজেক্ট এবং Subject Alternative Name গুলো ইনলাইনভাবে সরবরাহ করে যাতে 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 একটি নতুন 2048-বিট RSA কী তৈরি করে। বড় কী-এর জন্য rsa:4096 ব্যবহার করুন, অথবা ECDSA-তে সুইচ করুন (নিচে দেখুন)।
- -nodes প্রাইভেট কী এনক্রিপ্ট না করেই রাখে, যাতে আপনার ওয়েব সার্ভার স্টার্টআপের সময় পাসফ্রেজ প্রম্পট ছাড়াই এটি পড়তে পারে।
- -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। C ফিল্ডের জন্য অফিসিয়াল দুই-অক্ষরের দেশ কোড ব্যবহার করুন (যেমন US, GB, DE)।
আপনি যদি একটি 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"
আপনি যদি বরং একবারে একটি করে ফিল্ডের প্রম্পটের উত্তর দিতে চান, তাহলে -subj এবং -addext ছাড়া সহজতর ফর্মটি চালান:
openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr
এরপর OpenSSL একে একে প্রতিটি ফিল্ড জিজ্ঞাসা করে:
- Country Name (2 letter code): আপনার দেশের ISO 3166-1 alpha-2 কোড, যেমন US।
- State or Province Name: আপনার রাজ্য বা প্রদেশের সম্পূর্ণ নাম, সংক্ষিপ্ত রূপ নয়।
- Locality Name: যে শহরে আপনার প্রতিষ্ঠান নিবন্ধিত, তার নাম।
- Organization Name: OV এবং EV সার্টিফিকেটের জন্য আপনার সম্পূর্ণ আইনি কোম্পানির নাম। DV সার্টিফিকেটের জন্য এই মান যাচাই করা হয় না, তবে শুধু Enter চাপবেন না: এতে OpenSSL এর কনফিগারেশনে যা ডিফল্ট থাকে তা পূরণ করে দেবে, আর স্টক openssl.cnf-এ থাকে Internet Widgits Pty Ltd, যা আপনার CSR-এ চলে আসবে। ফিল্ডটি প্রকৃতপক্ষে খালি রাখতে একটি একক পিরিয়ড (
.) টাইপ করুন। - Organizational Unit Name: CA/Browser Forum দ্বারা এটি অবচিত (deprecated)। খালি রাখতে Enter চাপুন।
- Common Name: আপনি যে সম্পূর্ণ যোগ্য ডোমেইন নাম সুরক্ষিত করতে চান, যেমন www.yourdomain.com, অথবা ওয়াইল্ডকার্ডের জন্য *.yourdomain.com।
- Email Address: একটি বৈধ যোগাযোগের ইমেইল, অথবা এড়িয়ে যেতে Enter চাপুন।
- যখন a challenge password এবং an optional company name জিজ্ঞাসা করা হয়, উভয়ই খালি রাখতে Enter চাপুন। পাবলিক CA গুলো এই ফিল্ডগুলো উপেক্ষা করে।
খেয়াল করুন যে কোনো প্রম্পটেই SAN জিজ্ঞাসা করা হয় না। আপনি এখনও কমান্ড লাইনে -addext রেখে এবং শুধু -subj বাদ দিয়ে একটি পেতে পারেন: OpenSSL ইন্টারঅ্যাক্টিভভাবে সাবজেক্ট জিজ্ঞাসা করে এবং তখনও SAN এক্সটেনশন লেখে। অন্যথায় উপরের সম্পূর্ণ ইনলাইন ফর্মটি ব্যবহার করুন, অথবা একটি OpenSSL কনফিগ ফাইল দিয়ে CSR তৈরি করুন।
ধাপ ৩: CSR যাচাই করুন এবং জমা দিন
CA-তে CSR পাঠানোর আগে, সাবজেক্ট এবং SAN তালিকা আপনার উদ্দেশ্যের সাথে মিলছে কিনা তা নিশ্চিত করতে এটি স্থানীয়ভাবে ডিকোড করুন:
openssl req -noout -text -verify -in yourdomain.csr
যাচাই করুন যে Subject এবং X509v3 Subject Alternative Name লাইনগুলো সঠিক এবং স্বাক্ষর যাচাই verify OK ফেরত দিচ্ছে। আপনি আমাদের CSR Decoder দিয়ে অনলাইনেও CSR ডিকোড করতে পারেন।
TextEdit-এ .csr ফাইলটি খুলুন (অথবা cat yourdomain.csr দিয়ে এটি প্রিন্ট করুন) এবং -----BEGIN CERTIFICATE REQUEST----- ও -----END CERTIFICATE REQUEST----- লাইনসহ সম্পূর্ণ ব্লকটি কপি করুন। আপনার ক্রয়ের সময় অর্ডার ফর্মে এটি পেস্ট করুন। মিলে যাওয়া yourdomain.key ফাইলটি একই মেশিনে নিরাপদে রাখুন; এটি কখনো CA-তে পাঠানো বা শেয়ার করা উচিত নয়।
পদ্ধতি ৩: পুরনো macOS Server (Monterey-তে Server.app)
আপনি যদি এখনও Monterey-তে macOS Server 5.12.2 চালান, তাহলে বিল্ট-ইন Get a trusted certificate উইজার্ড একটি CSR তৈরি করে এবং মিলে যাওয়া প্রাইভেট কী System Keychain-এ সংরক্ষণ করে। Server 5.12.x-এর জন্য macOS Monterey প্রয়োজন (5.11-এর মতো আগের সংস্করণগুলো Big Sur সমর্থন করত)। Ventura এবং তার নতুন সংস্করণে এই অ্যাপটি উপলব্ধ নয়; এর পরিবর্তে উপরের Keychain Access বা OpenSSL পদ্ধতি ব্যবহার করুন।
ধাপ ১: macOS Server চালু করুন
Finder > Applications > Server খুলুন।
ধাপ ২: টার্গেট সার্ভার নির্বাচন করুন
- This Mac (YourServerName): স্থানীয় মেশিনে CSR তৈরি করে। আপনার অ্যাডমিন ইউজারনেম এবং পাসওয়ার্ড লিখুন, তারপর Allow-তে ক্লিক করুন।
- Other Mac (YourServerName): একটি রিমোট Mac-এ CSR তৈরি করে। এটির হোস্ট নেম বা IP ঠিকানা এবং অ্যাডমিন প্রমাণপত্র লিখুন, তারপর Allow-তে ক্লিক করুন।
ধাপ ৩: CSR শুরু করুন
- বাম প্যানেলে Server-এর অধীনে, Certificates নির্বাচন করুন।
- বিদ্যমান স্ব-স্বাক্ষরিত সার্টিফিকেটটি খুঁজুন। এটি পরীক্ষা এবং প্রাইভেট নেটওয়ার্কের জন্য কাজ করে তবে পাবলিক ব্রাউজারগুলো এতে আস্থা রাখে না।
- পৃষ্ঠার নিচে + বাটনে ক্লিক করুন এবং Get a trusted certificate নির্বাচন করুন, তারপর Next-এ ক্লিক করুন।
ধাপ ৪: CSR-এর বিস্তারিত পূরণ করুন
- Host name (CN): সুরক্ষিত করার জন্য সম্পূর্ণ যোগ্য ডোমেইন নাম, যেমন www.yoursite.com, অথবা ওয়াইল্ডকার্ডের জন্য *.yoursite.com।
- Contact Email Address: একটি বৈধ ইমেইল।
- Organization (O): OV এবং EV সার্টিফিকেটের জন্য আপনার সম্পূর্ণ আইনি কোম্পানির নাম। DV সার্টিফিকেটের জন্য এটি খালি রাখুন।
- Organizational Unit (OU): CA/Browser Forum দ্বারা এটি অবচিত (deprecated)। এটি খালি রাখুন।
- Town / City (L): যে শহরে আপনার প্রতিষ্ঠান নিবন্ধিত, তার নাম।
- State / Province (ST): আপনার রাজ্য বা প্রদেশের সম্পূর্ণ নাম।
- Country (C): তালিকা থেকে আপনার দেশ নির্বাচন করুন।
আপনার এন্ট্রিগুলো পর্যালোচনা করুন, Next-এ ক্লিক করুন, তারপর CSR ফাইলটি ডিস্কে Save করুন। প্রাইভেট কী System Keychain-এ থেকে যায় এবং সার্টিফিকেট ইনস্টলেশনের সময় প্রয়োজন হবে।
CSR জমা দিন এবং তারপর যা ঘটবে
আপনার SSL সার্টিফিকেট অর্ডারের সময় .csr ফাইলের কনটেন্ট (অথবা Server.app থেকে, সংরক্ষিত ফাইল) জমা দিন। CA আপনার রিকোয়েস্ট যাচাই করে সার্টিফিকেট ইস্যু করার পর, সার্টিফিকেট ইমপোর্ট করতে এবং আপনার ওয়েব সার্ভার কনফিগার করতে macOS-এ SSL সার্টিফিকেট কীভাবে ইনস্টল করবেন সম্পর্কে আমাদের গাইড অনুসরণ করুন। DV সার্টিফিকেটগুলো সাধারণত কয়েক মিনিটের মধ্যে ইস্যু করা হয়; OV এবং EV সার্টিফিকেটে এক থেকে পাঁচ কর্মদিবস সময় লাগতে পারে।
আজ অর্ডার করার সময় SSL শংসাপত্রে 10% সংরক্ষণ করুন!
দ্রুত ইস্যু, শক্তিশালী এনক্রিপশন, 99.99% ব্রাউজার বিশ্বাস, নিবেদিত সমর্থন, এবং 25 দিনের অর্থ ফেরত গ্যারান্টি। কুপন কোড: SAVE10


