bg-tutorials

Windows-এ কীভাবে একটি CSR তৈরি করবেন

এই গাইডে দেখানো হয়েছে Windows-এ কীভাবে CSR (Certificate Signing Request) তৈরি করবেন, অপারেটিং সিস্টেমের সাথে দেওয়া টুল ব্যবহার করে।

CSR হলো একটি PKCS #10 টেক্সট ব্লক যা আপনার পাবলিক কী এবং সাবজেক্ট বিবরণ Certificate Authority-এর কাছে বহন করে, যা এটি সাইন করে এবং আপনার SSL/TLS সার্টিফিকেট ফেরত দেয়। সংশ্লিষ্ট প্রাইভেট কী যে মেশিনে অনুরোধটি তৈরি হয় সেখানেই থাকে।

Windows আপনাকে CSR তৈরি করার তিনটি নেটিভ উপায় দেয়, এবং প্রতিটি নিচে আলোচনা করা হয়েছে। আপনার ওয়ার্কফ্লোর সাথে মানানসই যেটি বেছে নিন:

  • Certificates MMC স্ন্যাপ-ইন (গ্রাফিক্যাল), যা আপনাকে একটি উইজার্ডের মাধ্যমে পরিচালনা করে এবং আপনাকে Subject Alternative Name যোগ করতে দেয়। এটি সেই পথ যা মূল টিউটোরিয়ালে কভার করা হয়েছিল, এবং যা বেশিরভাগ ব্যবহারকারী চান।
  • certreq.exe কমান্ড-লাইন টুল একটি INF ফাইলের সাথে, যা স্ক্রিপ্টযোগ্য, SAN সমর্থন করে, এবং Windows Server-এ স্ট্যান্ডার্ড পদ্ধতি।
  • OpenSSL for Windows বাইনারি (একটি পৃথক ডাউনলোড), যা Linux অ্যাডমিনিস্ট্রেটররা যেভাবে করেন ঠিক সেভাবেই CSR তৈরি করে।

আপনি যদি নিজস্ব CSR ওয়ার্কফ্লো সহ একটি ওয়েব সার্ভার চালান, তাহলে সাধারণ Windows পদক্ষেপগুলোর পরিবর্তে সেটি ব্যবহার করুন: IIS এবং Microsoft Exchange-এর জন্য নির্দিষ্ট গাইডগুলো দেখুন। নিচের পদক্ষেপগুলো Windows 10, Windows 11, এবং Windows Server 2016 থেকে 2025 পর্যন্ত কভার করে; শুরু করার আগে লোকাল অ্যাডমিনিস্ট্রেটর অধিকার রয়েছে এমন একটি অ্যাকাউন্ট দিয়ে সাইন ইন করুন।

Certificates MMC স্ন্যাপ-ইন দিয়ে CSR তৈরি করুন

Microsoft Management Console (MMC) Windows-এর প্রতিটি সমর্থিত সংস্করণের সাথে আসে এবং একটি Create Custom Request উইজার্ড প্রকাশ করে যা SAN এন্ট্রি সহ একটি CSR তৈরি করতে পারে। উইজার্ড নতুন প্রাইভেট কী Local Computer সার্টিফিকেট স্টোরে সংরক্ষণ করে, যাতে মেশিনের যেকোনো Windows সার্ভিস (IIS, ADFS, RD Gateway, RDP) ইস্যু করা সার্টিফিকেট ইনস্টল হওয়ার পর ব্যবহার করতে পারে।

ধাপ ১: Local Computer-এর জন্য MMC Certificates স্ন্যাপ-ইন খুলুন

Win + R চাপুন, নিচের কমান্ড টাইপ করুন এবং Enter চাপুন:

mmc

খালি MMC কনসোলে, File > Add/Remove Snap-in খুলুন। বাম তালিকায় Certificates নির্বাচন করুন, Add-এ ক্লিক করুন, Computer account বেছে নিন, Next-এ ক্লিক করুন, Local computer নির্বাচিত রেখে দিন, এবং Finish-এ ক্লিক করুন, তারপর OK। এখন Certificates স্ন্যাপ-ইন Local Computer স্টোরের সাথে সংযুক্ত হয়েছে, যা Windows সার্ভিসগুলো থেকে পড়ে।

ধাপ ২: একটি কাস্টম সার্টিফিকেট অনুরোধ শুরু করুন

বাম প্যানেলে, Certificates (Local Computer) প্রসারিত করুন এবং Personal-এ রাইট-ক্লিক করুন। All Tasks > Advanced Operations > Create Custom Request বেছে নিন। Certificate Enrollment উইজার্ড খুলবে। Next-এ ক্লিক করুন।

Select Certificate Enrollment Policy স্ক্রিনে, Custom Request-এর অধীনে Proceed without enrollment policy নির্বাচন করুন এবং Next-এ ক্লিক করুন। এটি Windows-কে বলে দেয় যে একটি অভ্যন্তরীণ Active Directory Certificate Services টেমপ্লেটের বিরুদ্ধে এনরোল না করে একটি স্বতন্ত্র CSR তৈরি করতে হবে একটি বাহ্যিক CA-এর জন্য।

ধাপ ৩: টেমপ্লেট এবং অনুরোধের ফরম্যাট বেছে নিন

Custom request স্ক্রিনে, Template-কে (No template) CNG key-এ সেট করুন, Request format PKCS #10-তেই রাখুন, এবং Next-এ ক্লিক করুন। CNG (Cryptography Next Generation) হলো আধুনিক Windows কী প্রোভাইডার এবং নতুন অনুরোধের জন্য সঠিক পছন্দ; লিগ্যাসি CSP বিকল্পটি শুধুমাত্র পুরনো অ্যাপ্লিকেশনের সাথে সামঞ্জস্যের জন্য প্রয়োজন।

Certificate Information স্ক্রিনে, অনুরোধ এন্ট্রির পাশের Details তীর প্রসারিত করুন এবং Properties-এ ক্লিক করুন। Certificate Properties ডায়ালগেই CSR-এর বাকি অংশ কনফিগার করা হয়।

ধাপ ৪: সাবজেক্ট এবং Subject Alternative Names পূরণ করুন

General ট্যাবে, একটি বন্ধুত্বপূর্ণ নাম এবং একটি ঐচ্ছিক বিবরণ টাইপ করুন যাতে পরে সার্টিফিকেট স্টোরে অপেক্ষারত অনুরোধটি সনাক্ত করতে পারেন।

Subject ট্যাবে যান। Subject name-এ, শুধুমাত্র যদি আপনি জানেন কী করছেন তাহলেই Type Full DN-তে রাখুন; বেশিরভাগ অর্ডারের জন্য, Type ড্রপডাউন ব্যবহার করে প্রতিটি উপাদান একবারে একটি করে যোগ করুন। নিচের প্রতিটি অ্যাট্রিবিউটের জন্য, টাইপ বেছে নিন, মান টাইপ করুন, এবং Add-এ ক্লিক করুন:

  • Common Name: আপনি যে সম্পূর্ণ যোগ্য ডোমেইন নাম সুরক্ষিত করতে চান, উদাহরণস্বরূপ www.yourdomain.com। একটি ওয়াইল্ডকার্ড সার্টিফিকেটের জন্য, apex ডোমেইনের সামনে একটি অ্যাস্টেরিস্ক দিন, উদাহরণস্বরূপ *.yourdomain.com
  • Country: দুই-অক্ষরের ISO দেশের কোড, উদাহরণস্বরূপ US, GB, বা DE
  • State: সম্পূর্ণ রাজ্য বা প্রদেশের নাম (উদাহরণস্বরূপ California, CA নয়)।
  • Locality: আপনার প্রতিষ্ঠান যেখানে নিবন্ধিত সেই শহরের সম্পূর্ণ নাম (উদাহরণস্বরূপ San Jose, SJ নয়)।
  • Organization: আপনার কোম্পানির আইনি নাম, ঠিক যেভাবে নিবন্ধিত। OV এবং EV সার্টিফিকেটের জন্য প্রয়োজন। Domain Validation (DV) সার্টিফিকেটের জন্য, এই ফিল্ডটি উপেক্ষা করা হয়, তাই যেকোনো প্লেসহোল্ডার কাজ করবে।

Email অ্যাট্রিবিউট এড়িয়ে যান। RFC 5280 বলে যে ইমেইল ঠিকানাযুক্ত নতুন সার্টিফিকেটগুলোকে অবশ্যই Subject Alternative Name এক্সটেনশনে (একটি rfc822Name হিসেবে) রাখতে হবে, সাবজেক্ট Distinguished Name-এ নয়, এবং পাবলিক CA গুলো একটি TLS সার্টিফিকেটের সাবজেক্ট থেকে ইমেইল মান সরিয়ে ফেলতে পারে। এটি বাদ দিলে CSR পরিষ্কার থাকে।

একই ট্যাবের Alternative name বিভাগে, Type DNS-এ সেট করুন এবং সার্টিফিকেটটি যে প্রতিটি হোস্টনেম কভার করবে তা যোগ করুন, প্রতি এন্ট্রির জন্য একবার Add-এ ক্লিক করুন। এখানেও সর্বদা Common Name তালিকাভুক্ত করুন: ব্রাউজার, .NET, Java, Go, এবং অন্যান্য আধুনিক TLS ক্লায়েন্ট SAN তালিকার বিপরীতে কঠোরভাবে হোস্টনেম যাচাই করে এবং Common Name উপেক্ষা করে। একটি সাধারণ ওয়েব সার্টিফিকেট দুটি DNS এন্ট্রি ব্যবহার করে:

  • yourdomain.com
  • www.yourdomain.com

একটি ওয়াইল্ডকার্ড অর্ডারের জন্য, ওয়াইল্ডকার্ড এবং apex উভয়ই যোগ করুন: *.yourdomain.com এবং yourdomain.com

ধাপ ৫: কী এবং সিগনেচার কনফিগার করুন

Private Key ট্যাবে যান এবং প্রতিটি বিভাগ একে একে প্রসারিত করুন।

  • Cryptographic Service Provider: ডিফল্ট RSA, Microsoft Software Key Storage Provider নির্বাচিত রাখুন। এটি RSA কী-এর জন্য আধুনিক CNG প্রোভাইডার।
  • Key options: Key size 2048-এ সেট করুন (বর্তমান পাবলিক-CA-এর ন্যূনতম)। শুধুমাত্র যদি আপনার নীতিতে একটি বড় কী প্রয়োজন হয় তাহলে 3072 বা 4096 বেছে নিন; ট্রেড-অফ হলো সামান্য ধীরগতির TLS হ্যান্ডশেক। যদি আপনি ইস্যু করা সার্টিফিকেটকে অন্য সার্ভারে ব্যাক আপ বা স্থানান্তর করার বিকল্প চান তাহলে Make private key exportable চেক করুন।
  • Select Hash Algorithm: Select hash algorithm বিভাগে, sha256 বেছে নিন। SHA-1 আর পাবলিক CA দ্বারা গ্রহণযোগ্য নয় এবং SHA-256 আধুনিক ডিফল্ট। Use alternate signature format চেকবক্সটি বন্ধ রাখুন।

প্রোপার্টিজ ডায়ালগ বন্ধ করতে OK-তে ক্লিক করুন, তারপর উইজার্ডে Next-এ ক্লিক করুন।

ধাপ ৬: CSR ফাইল সংরক্ষণ করুন

Where do you want to save the offline request? স্ক্রিনে, File format Base 64-এ সেট করুন (CA গুলো base64-এনকোডেড PEM আশা করে, বাইনারি নয়)। Browse-এ ক্লিক করুন, একটি ফোল্ডার বেছে নিন যা আপনি পুনরায় খুঁজে পেতে পারেন (একটি নির্দিষ্ট C:certs ফোল্ডার বা Desktop ডিফল্ট Windows পাথের চেয়ে সহজ), ফাইলটিকে একটি .req বা .txt এক্সটেনশন সহ একটি নাম দিন, এবং Save-এ ক্লিক করুন। CSR লিখতে Finish-এ ক্লিক করুন।

উইজার্ড CSR ফাইলে লেখে এবং সংশ্লিষ্ট প্রাইভেট কী Certificates (Local Computer) > Certificate Enrollment Requests-এ সংরক্ষণ করে। সেই অপেক্ষারত অনুরোধটি মুছবেন না: যখন CA ইস্যু করা সার্টিফিকেট ফেরত দেবে, Windows স্বয়ংক্রিয়ভাবে এটিকে অপেক্ষারত কী-এর সাথে জোড়া দেয়।

ধাপ ৭: CSR কপি করুন এবং CA-এ জমা দিন

Notepad-এ সংরক্ষিত ফাইলটি খুলুন। আপনি এইরকম একটি ব্লক দেখতে পাবেন:

-----BEGIN NEW CERTIFICATE REQUEST-----
MIIDXjCCAkYCAQAwgZQxCzAJBgNVBAYTAlVTMRMwEQYDVQQIDApDYWxpZm9ybmlh
... (many lines of base64) ...
-----END NEW CERTIFICATE REQUEST-----

পাঁচ-হাইফেন BEGIN NEW CERTIFICATE REQUEST এবং END NEW CERTIFICATE REQUEST লাইনসহ সম্পূর্ণ ব্লকটি নির্বাচন করুন, কপি করুন, এবং আপনার SSL অর্ডার ফর্মের CSR ফিল্ডে পেস্ট করুন।

certreq.exe এবং একটি INF ফাইল দিয়ে CSR তৈরি করুন

certreq.exe কমান্ড-লাইন ইউটিলিটি Windows Server-এর প্রতিটি সংস্করণের সাথে আসে এবং Windows 10 এবং 11 ক্লায়েন্টেও উপস্থিত থাকে। যখন আপনি CSR তৈরি স্ক্রিপ্ট করতে চান, অস্বাভাবিক কী প্যারামিটার সেট করতে চান, অথবা একটি সেশনের মাধ্যমে দূর থেকে অনুরোধ তৈরি করতে চান যা MMC চালাতে পারে না তখন এটিই সঠিক পদ্ধতি। প্রবাহে তিনটি অংশ রয়েছে: একটি অনুরোধ INF ফাইল লেখা, CSR তৈরি করতে certreq -new চালানো, তারপর CSR আপনার CA-তে জমা দেওয়া।

ধাপ ১: অনুরোধ INF ফাইল তৈরি করুন

Administrator হিসেবে Notepad খুলুন এবং নিচের ফাইলটি request.inf হিসেবে সংরক্ষণ করুন। আপনার ডোমেইনের সাথে মিলিয়ে Subject লাইন এবং [Extensions]-এর অধীনে DNS এন্ট্রিগুলো সম্পাদনা করুন:

[Version]
Signature="$Windows NT$"

[NewRequest]
Subject = "CN=www.yourdomain.com, O=Your Company, L=San Jose, S=California, C=US"
KeySpec = 1
KeyLength = 2048
Exportable = TRUE
MachineKeySet = TRUE
SMIME = FALSE
PrivateKeyArchive = FALSE
UserProtected = FALSE
UseExistingKeySet = FALSE
ProviderName = "Microsoft RSA SChannel Cryptographic Provider"
ProviderType = 12
RequestType = PKCS10
KeyUsage = 0xa0
HashAlgorithm = SHA256

[EnhancedKeyUsageExtension]
OID = 1.3.6.1.5.5.7.3.1

[Extensions]
2.5.29.17 = "{text}"
_continue_ = "dns=www.yourdomain.com&"
_continue_ = "dns=yourdomain.com"

মানগুলো নিয়ে নোট:

  • Subject: কমা দ্বারা পৃথক করা উপাদানসহ একটি একক লাইন। C=-এ দুই-অক্ষরের ISO দেশের কোড ব্যবহার করুন, এবং রাজ্য ও শহরের নাম সম্পূর্ণরূপে লিখুন।
  • KeyLength: ন্যূনতম 2048। আপনার নীতিতে একটি বড় কী প্রয়োজন হলে 3072 বা 4096 সেট করুন।
  • Exportable = TRUE: আপনাকে ইস্যু করা সার্টিফিকেটের সাথে প্রাইভেট কী এক্সপোর্ট করতে দেয় (ব্যাকআপ বা দ্বিতীয় সার্ভারে ইনস্টল করার জন্য)। আপনি যদি কী-কে এই মেশিনে লক করা চান তাহলে এটিকে FALSE-এ সেট করুন।
  • MachineKeySet = TRUE: কী-টি Local Computer স্টোরে সংরক্ষণ করে, যা IIS-এর মতো সার্ভিসগুলো থেকে পড়ে। সার্ভার ওয়ার্কলোডের জন্য এটি চালু রাখুন।
  • HashAlgorithm = SHA256: অনুরোধটি SHA-256 দিয়ে সাইন করে, যা আধুনিক ডিফল্ট। পুরনো উদাহরণগুলো কখনো কখনো SHA-1-এ ডিফল্ট করে, যা পাবলিক CA গুলো আর গ্রহণ করে না।
  • 2.5.29.17: Subject Alternative Name-এর জন্য OID। প্রতি হোস্টনেমের জন্য একটি _continue_ লাইন যোগ করুন; শেষটি ছাড়া প্রতিটি লাইনকে অবশ্যই & সেপারেটর দিয়ে শেষ হতে হবে। এখানেও আপনার Common Name তালিকাভুক্ত করুন, কারণ TLS ক্লায়েন্টরা SAN তালিকার বিপরীতে যাচাই করে।

ধাপ ২: CSR তৈরি করুন

একটি এলিভেটেড Command Prompt বা PowerShell খুলুন, যে ফোল্ডারে request.inf রয়েছে সেখানে যান, এবং চালান:

certreq -new request.inf request.csr

টুলটি Local Computer স্টোরে প্রাইভেট কী তৈরি করে এবং PKCS #10 অনুরোধটি request.csr-এ লেখে। ফাইলটি খুলুন, সম্পূর্ণ BEGIN NEW CERTIFICATE REQUEST থেকে END NEW CERTIFICATE REQUEST ব্লক কপি করুন, এবং আপনার অর্ডার ফর্মে পেস্ট করুন।

যখন CA ইস্যু করা সার্টিফিকেট ফেরত দেয়, নিচের কমান্ড দিয়ে জোড়া সম্পন্ন করুন:

certreq -accept certnew.cer

এটি ইস্যু করা সার্টিফিকেটকে স্টোরে অপেক্ষারত প্রাইভেট কী-এর সাথে বাঁধে, যার পরে সার্টিফিকেটটি যেকোনো Windows সার্ভিসের জন্য উপলব্ধ হয় যার এটি প্রয়োজন।

Windows-এ OpenSSL দিয়ে CSR তৈরি করুন

Windows OpenSSL সরবরাহ করে না, তবে একটি রক্ষণাবেক্ষণকৃত Windows বিল্ড Shining Light Productions থেকে উপলব্ধ। OpenSSL প্রবাহ Linux-এর সাথে অভিন্ন এবং একটি কী এবং একটি CSR দুটি পৃথক ফাইল হিসেবে তৈরি করে, যা কার্যকর যদি আপনি এমন একটি প্ল্যাটফর্মে সার্টিফিকেট স্থাপন করার পরিকল্পনা করেন যা Windows সার্টিফিকেট স্টোর ব্যবহার করে না (উদাহরণস্বরূপ একটি থার্ড-পার্টি রিভার্স প্রক্সি, Tomcat, বা একটি কাস্টম অ্যাপ্লিকেশন)।

Win64 OpenSSL Light প্যাকেজ ইনস্টল করুন (CSR কাজের জন্য নিয়মিত ইনস্টলারই যথেষ্ট) এবং, সেটআপ যখন জিজ্ঞাসা করে, OpenSSL DLL গুলো Windows সিস্টেম ফোল্ডারের পরিবর্তে OpenSSL bin ডিরেক্টরিতে কপি করুন। Command Prompt বা PowerShell খুলুন এবং নিশ্চিত করুন OpenSSL পাথে আছে:

openssl version

যদি কমান্ডটি পাওয়া না যায়, ইনস্টলেশন ফোল্ডার (সাধারণত C:Program FilesOpenSSL-Win64bin) আপনার PATH-এ যোগ করুন অথবা সম্পূর্ণ পাথ দিয়ে openssl কল করুন। তারপর একটি একক কমান্ড দিয়ে CSR এবং কী তৈরি করুন:

openssl req -new -newkey rsa:2048 -nodes -keyout yourdomain.key -out yourdomain.csr -subj "/C=US/ST=California/L=San Jose/O=Your Company/CN=www.yourdomain.com" -addext "subjectAltName=DNS:yourdomain.com,DNS:www.yourdomain.com"

প্রতিটি ফ্ল্যাগ যা করে:

  • -newkey rsa:2048 একটি নতুন 2048-বিট RSA কী তৈরি করে। আপনার নীতিতে একটি বড় কী প্রয়োজন হলে rsa:4096 ব্যবহার করুন।
  • -nodes প্রাইভেট কী একটি পাসফ্রেজ ছাড়াই লেখে যাতে ব্যবহারকারী সার্ভিসটি স্টার্টআপে কোনো প্রম্পট ছাড়াই এটি পড়তে পারে। OpenSSL 3.x এই ফ্ল্যাগটির নাম পরিবর্তন করে -noenc করেছে; -nodes এখনও কাজ করে তবে এটি ডেপ্রিকেটেড হিসেবে বিবেচিত।
  • -keyout এবং -out কী ফাইল এবং CSR ফাইলের নাম দেয়।
  • -subj সাবজেক্টটি ইনলাইন সরবরাহ করে যাতে OpenSSL ইন্টারঅ্যাক্টিভ প্রশ্ন জিজ্ঞাসা করতে থামে না।
  • -addext “subjectAltName=…” SAN তালিকা যোগ করে। এখানেও Common Name অন্তর্ভুক্ত করুন।

OpenSSL 3.x ডিফল্টরূপে SHA-256 দিয়ে CSR সাইন করে, তাই কোনো অতিরিক্ত ডাইজেস্ট ফ্ল্যাগের প্রয়োজন নেই। ভিন্ন হেডার লক্ষ্য করুন: OpenSSL লেখে -----BEGIN CERTIFICATE REQUEST-----, যেখানে MMC উইজার্ড এবং certreq লেখে -----BEGIN NEW CERTIFICATE REQUEST-----। উভয়ই সাধারণ PKCS #10 অনুরোধ এবং প্রতিটি CA উভয় ফর্মই গ্রহণ করে। ফলস্বরূপ yourdomain.key-কে একটি গোপন তথ্য হিসেবে বিবেচনা করুন: যার কাছে এটি আছে সে সার্টিফিকেটটির ছদ্মবেশ ধারণ করতে পারে।

জমা দেওয়ার আগে CSR যাচাই করুন

অনুরোধটি আপনার CA-তে পাঠানোর আগে Common Name, SAN এন্ট্রি, কী সাইজ, এবং সিগনেচার অ্যালগরিদম নিশ্চিত করুন। Windows কমান্ড লাইন থেকে, certutil যেকোনো CSR ফাইল পড়ে:

certutil -dump request.csr

যদি আপনি OpenSSL ইনস্টল করে থাকেন, সমতুল্য কমান্ড একই বিবরণ প্রিন্ট করে:

openssl req -noout -text -in request.csr

ব্রাউজার পছন্দ করেন? অনুরোধের বিষয়বস্তু SSL Dragon-এর CSR ডিকোডার-এ পেস্ট করে সাবজেক্ট, SAN তালিকা, কী সাইজ, এবং সিগনেচার অ্যালগরিদম পড়ুন। নিশ্চিত করুন যে Common Name ক্লায়েন্টরা যে হোস্টনেম ব্যবহার করবে তার সাথে মেলে, প্রতিটি প্রয়োজনীয় নাম SAN তালিকার অধীনে প্রদর্শিত হয়, এবং সিগনেচার অ্যালগরিদম sha256WithRSAEncryption (বা শক্তিশালী)।

আপনি যদি সার্ভারের বাইরে CSR তৈরি করতে চান, আমাদের CSR Generator একটি একক ফর্ম থেকে (SAN সহ) একটি অনুরোধ তৈরি করে। ট্রেড-অফ হলো প্রাইভেট কী আপনার ব্রাউজারে তৈরি হয়, Windows স্টোরে নয়, তাই যখন CA সার্টিফিকেট ইস্যু করে তখন আপনি সার্টিফিকেট এবং কী একত্রিত করে একটি .pfx ফাইল তৈরি করেন এবং আপনার অ্যাপ্লিকেশনের সার্টিফিকেট ম্যানেজমেন্ট কনসোলের মাধ্যমে এটি ইমপোর্ট করেন।

প্রায়শই জিজ্ঞাসিত প্রশ্নাবলী

আমার কোন Windows CSR পদ্ধতি ব্যবহার করা উচিত?

যদি আপনি এমন একটি Windows সার্ভিস সুরক্ষিত করছেন যা Local Computer সার্টিফিকেট স্টোর থেকে পড়ে (IIS, ADFS, RDP, RD Gateway, WinRM), MMC স্ন্যাপ-ইন বা certreq.exe ব্যবহার করুন: উভয়েই কী সঠিক জায়গায় তৈরি করে যাতে ইস্যু করা সার্টিফিকেট বাঁধার জন্য প্রস্তুত থাকে। যদি আপনি একটি নন-Windows প্ল্যাটফর্মের জন্য CSR প্রস্তুত করছেন, অথবা আপনি একটি পৃথক কী ফাইল চান যা আপনি একটি Linux সার্ভার বা থার্ড-পার্টি অ্যাপ্লায়েন্সে কপি করতে পারেন, Windows-এ OpenSSL ব্যবহার করুন। তিনটি পদ্ধতির আউটপুটই একই PKCS #10 CSR যা প্রতিটি পাবলিক CA গ্রহণ করে।

আমার কি CSR সাবজেক্টে আমার ইমেইল ঠিকানা অন্তর্ভুক্ত করা উচিত?

না। RFC 5280 নতুন সার্টিফিকেটগুলোকে একটি ইমেইল ঠিকানা Subject Alternative Name এক্সটেনশনে একটি rfc822Name হিসেবে রাখার নির্দেশ দেয়, সাবজেক্ট Distinguished Name-এ নয়। পাবলিক CA গুলো ইস্যু করার সময় একটি TLS সার্টিফিকেটের সাবজেক্ট থেকে ইমেইল মান সরিয়ে ফেলতে পারে, তাই এটি যোগ করা HTTPS-এর জন্য কোনো উদ্দেশ্য সাধন করে না। উইজার্ড বা INF থেকে Email ফিল্ডটি বাদ দিন।

Windows-এ CSR তৈরি করার পর প্রাইভেট কী কোথায় থাকে?

MMC স্ন্যাপ-ইন বা certreq.exe-এর সাথে, কী-টি একটি অপেক্ষারত অনুরোধ হিসেবে Certificates (Local Computer) > Certificate Enrollment Requests-এ থাকে এবং আপনি এনরোলমেন্ট সম্পন্ন করলে এটি স্বয়ংক্রিয়ভাবে ইস্যু করা সার্টিফিকেটের সাথে জোড়া হয়। OpenSSL-এর সাথে, কী-টি CSR-এর পাশে লেখা .key ফাইল; এটিকে অন্য যেকোনো গোপনীয় তথ্যের মতো সুরক্ষিত করুন এবং সার্টিফিকেট স্থাপন করার আগে এটি ব্যাক আপ করুন।

আমি কি সরাসরি PowerShell দিয়ে, একটি INF ফাইল ছাড়াই CSR তৈরি করতে পারি?

PowerShell-এর কোনো ফার্স্ট-পার্টি CSR cmdlet নেই। New-SelfSignedCertificate একটি কী জোড়া তৈরি করে, তবে এটি একটি সম্পূর্ণ স্ব-স্বাক্ষরিত সার্টিফিকেট তৈরি করে, একটি CSR নয় যা একটি পাবলিক CA সাইন করতে পারে। PowerShell থেকে একটি অনুরোধ তৈরি করার সমর্থিত উপায় হলো উপরে দেখানো INF ফাইলটি লেখা এবং এতে certreq.exe কল করা (certreq -new request.inf request.csr)। PSPKI-এর মতো থার্ড-পার্টি মডিউলগুলো certreq-কে একটি বন্ধুত্বপূর্ণ ইন্টারফেসে র‍্যাপ করে, তবে অন্তর্নিহিত টুলটি এখনও certreq।

আমি যদি উইজার্ড বাতিল করি বা কখনো অনুরোধ জমা না দিই তাহলে কী হবে?

অপেক্ষারত অনুরোধ এবং এর প্রাইভেট কী Certificates (Local Computer) > Certificate Enrollment Requests-এ থেকে যায়। এগুলো নিজে থেকে কিছু করে না এবং কিছু ভাঙে না, তবে সময়ের সাথে সাথে জমা হতে থাকে। MMC Certificates স্ন্যাপ-ইন খুলুন, অপেক্ষারত অনুরোধগুলো পর্যালোচনা করুন, এবং আপনার আর প্রয়োজন নেই এমন যেকোনো একটি মুছে ফেলুন; এটি সংশ্লিষ্ট কীও সরিয়ে দেয়।

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

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

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

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