bg-tutorials

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

এই গাইডে দেখানো হয়েছে Windows Server-এ Microsoft IIS (Internet Information Services)-এ কীভাবে CSR (Certificate Signing Request) তৈরি করবেন। আপনি দুইভাবে রিকোয়েস্ট তৈরি করতে পারেন: IIS Manager GUI-এর মাধ্যমে (ক্লাসিক পয়েন্ট-অ্যান্ড-ক্লিক উইজার্ড), অথবা PowerShell থেকে certreq.exe এবং একটি INF ফাইল ব্যবহার করে। উভয় পদ্ধতিতেই প্রাইভেট কী সার্ভারে Windows সার্টিফিকেট স্টোরে থাকে এবং একটি PKCS #10 রিকোয়েস্ট তৈরি হয় যা আপনি আপনার Certificate Authority-তে জমা দেন।

শুরুতেই জেনে রাখা জরুরি একটি বিষয়: IIS Manager উইজার্ড রিকোয়েস্টে Subject Alternative Name (SAN) যোগ করে না, এবং এখন প্রতিটি পাবলিক CA-এর প্রয়োজন হয় যে হোস্টনেম শুধু Common Name-এ নয়, SAN-এও থাকুক। আপনার যদি SAN প্রয়োজন হয় (এবং প্রায় সবসময়ই তা প্রয়োজন হয়), তাহলে নিচের certreq.exe পদ্ধতি ব্যবহার করুন, অথবা আমাদের CSR Generator দিয়ে সার্ভারের বাইরে CSR তৈরি করুন এবং ইস্যুকৃত সার্টিফিকেটটি .pfx ফাইল হিসেবে ইম্পোর্ট করুন।

আপনি যে Windows Server সুরক্ষিত করতে চান (অথবা যে ওয়ার্কস্টেশনে IIS সাইট চলে), সেখানে Administrator হিসেবে সাইন ইন করুন, তারপর আপনার IIS-এর ভার্সন অনুযায়ী উপযুক্ত সেকশনটি অনুসরণ করুন। নিচের ধাপগুলোতে Windows Server 2025, 2022, 2019, এবং 2016-এ IIS 10 (এবং Windows 10 ও Windows 11 ক্লায়েন্টে থাকা IIS 10) কভার করা হয়েছে, পাশাপাশি পুরনো অবকাঠামোর জন্য IIS 8 / 8.5 / 7 / 6 উইজার্ডও অন্তর্ভুক্ত রয়েছে।

IIS 10-এ CSR তৈরি করুন (Windows Server 2016 থেকে 2025)

IIS 10 হলো সেই ভার্সন যা Windows Server 2016, 2019, 2022, এবং 2025-এর সাথে আসে, পাশাপাশি Windows 10 এবং Windows 11 ক্লায়েন্টের IIS ফিচারেও থাকে। প্রতিটি রিলিজেই Manager ইন্টারফেস একই।

ধাপ ১: IIS Manager খুলুন

  • Win + R চাপুন, inetmgr টাইপ করুন এবং Enter চাপুন, অথবা
  • Start মেনু খুলে Internet Information Services (IIS) Manager সার্চ করুন।

ধাপ ২: Server Certificates খুলুন

  • বামদিকের Connections প্যানেলে, সার্ভারের নামে ক্লিক করুন।
  • মাঝের প্যানেলে (Home), Server Certificates-এ ডাবল-ক্লিক করুন।

ধাপ ৩: সার্টিফিকেট রিকোয়েস্ট শুরু করুন

ডানদিকের Actions প্যানেলে, Create Certificate Request-এ ক্লিক করুন। Distinguished Name Properties ডায়ালগ খুলবে।

ধাপ ৪: Distinguished Name পূরণ করুন

নিচের সাবজেক্ট তথ্য প্রবেশ করান। শুধুমাত্র স্ট্যান্ডার্ড ASCII অক্ষর ব্যবহার করুন; নন-ল্যাটিন অক্ষর রিকোয়েস্ট নষ্ট করে দেয়:

  • Common Name: যে ফুলি কোয়ালিফাইড ডোমেইন নেম (FQDN) আপনি সুরক্ষিত করতে চান, যেমন www.example.com। ওয়াইল্ডকার্ড সার্টিফিকেটের জন্য, apex ডোমেইনের সামনে একটি অ্যাস্টেরিস্ক দিন, যেমন *.example.com
  • Organization: আপনার কোম্পানির পূর্ণ আইনি নাম, ঠিক যেভাবে নিবন্ধিত। OV এবং EV সার্টিফিকেটের জন্য প্রয়োজনীয়। Domain Validation (DV) সার্টিফিকেটের জন্য এই ফিল্ড উপেক্ষা করা হয়, তাই যেকোনো সংক্ষিপ্ত প্লেসহোল্ডারই চলবে।
  • Organizational unit: একটি বিভাগীয় লেবেল যেমন IT বা Web। পাবলিক সার্টিফিকেটের জন্য এই অ্যাট্রিবিউটটি অপ্রচলিত (CA/Browser Forum এটি ধাপে ধাপে বাদ দিয়েছে), তাই এটি ন্যূনতম রাখুন বা যেখানে ডায়ালগ অনুমতি দেয় সেখানে এড়িয়ে যান।
  • City/locality: যে শহরে আপনার প্রতিষ্ঠান নিবন্ধিত, পূর্ণভাবে লিখুন (যেমন Seattle, SEA নয়)।
  • State/province: পূর্ণ রাজ্য বা প্রদেশের নাম (যেমন Washington, WA নয়)।
  • Country/region: দুই অক্ষরের ISO দেশ কোড (যেমন US, GB, DE)।

প্রতিটি ফিল্ড যাচাই করুন এবং Next-এ ক্লিক করুন।

ধাপ ৫: Cryptographic Service Provider এবং কী লেন্থ নির্বাচন করুন

Cryptographic Service Provider Properties ডায়ালগে:

  • Cryptographic service provider: Microsoft RSA SChannel Cryptographic Provider নির্বাচন করুন। HTTPS-এর মাধ্যমে IIS দ্বারা পরিবেশিত RSA সার্টিফিকেটের জন্য এটিই সঠিক পছন্দ। (শুধুমাত্র বিরল ক্ষেত্রে যেখানে আপনার Diffie-Hellman কী দরকার, সেক্ষেত্রে Microsoft DH SChannel Cryptographic Provider নির্বাচন করুন, যা সাধারণ ওয়েব TLS-এ ব্যবহৃত হয় না।)
  • Bit length: 2048 নির্বাচন করুন। এটি বর্তমানে প্রতিটি পাবলিক CA গ্রহণ করে এমন সর্বনিম্ন মান। শুধুমাত্র আপনার নীতির প্রয়োজন হলে 3072 বা 4096 নির্বাচন করুন; এর বিনিময়ে TLS হ্যান্ডশেক কিছুটা ধীর হয়।

Next-এ ক্লিক করুন।

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

File Name ডায়ালগে, ব্রাউজ বাটনে ক্লিক করুন এবং একটি ফোল্ডার নির্বাচন করুন যা আপনি পরে খুঁজে পাবেন, তারপর .txt এক্সটেনশনসহ একটি ফাইলের নাম টাইপ করুন, যেমন certreq.txt। ডিফল্ট পাথ C:WindowsSystem32 গ্রহণ করবেন না: সেই ফোল্ডারে ব্রাউজ করা কঠিন এবং UAC-এর উপর নির্ভর করে আপনার লেখার অনুমতি নাও থাকতে পারে। Desktop অথবা একটি নির্দিষ্ট C:certs ফোল্ডার এক্ষেত্রে ভালো কাজ করে।

Finish-এ ক্লিক করুন। IIS আপনার নির্বাচিত পাথে CSR লিখে দেয় এবং এই সার্ভারের Windows সার্টিফিকেট স্টোরে মিলে যাওয়া প্রাইভেট কী একটি পেন্ডিং রিকোয়েস্ট হিসেবে সংরক্ষণ করে।

ধাপ ৭: CSR কপি করে CA-তে জমা দিন

Notepad-এ (অথবা যেকোনো টেক্সট এডিটরে) সংরক্ষিত ফাইলটি খুলুন। আপনি এরকম একটি ব্লক দেখতে পাবেন:

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

পুরো ব্লকটি নির্বাচন করুন, BEGIN NEW CERTIFICATE REQUEST এবং END NEW CERTIFICATE REQUEST লাইনসহ, এটি কপি করুন এবং আপনার অর্ডার ফর্মের CSR ফিল্ডে পেস্ট করুন। যখন CA রিকোয়েস্টটি যাচাই করে আপনার সার্টিফিকেট ইস্যু করবে, তখন IIS-এ কীভাবে SSL সার্টিফিকেট ইনস্টল করবেন তা অনুসরণ করুন এবং ইস্যুকৃত .cer ফাইলকে এই সার্ভারের পেন্ডিং কী-এর সাথে জোড়া লাগাতে Complete Certificate Request ব্যবহার করুন।

IIS Manager উইজার্ড SAN যোগ করে না

উপরের উইজার্ড এমন একটি রিকোয়েস্ট তৈরি করে যার একমাত্র হোস্টনেম হলো Common Name। আধুনিক ব্রাউজার এবং ক্লায়েন্টগুলো (Chromium, Firefox, Safari, .NET, Java, Go) শুধুমাত্র Subject Alternative Name এক্সটেনশনের বিপরীতে হোস্টনেম যাচাই করে; ২০১৭ সাল থেকে বিশ্বাসের সিদ্ধান্তে Common Name উপেক্ষা করা হচ্ছে। পাবলিক CA-গুলো একক-নাম অর্ডারের জন্য স্বয়ংক্রিয়ভাবে CN-কে SAN এন্ট্রিতে কপি করে সাড়া দেয়, তাই শুধু CN-সহ রিকোয়েস্ট এখনও একটি হোস্টনেমের জন্য কাজ করে। কিন্তু:

  • যদি আপনার একটি সার্টিফিকেটে একাধিক হোস্টনেম প্রয়োজন হয় (যেমন example.com এবং www.example.com, অথবা মাল্টি-ডোমেইন সার্টিফিকেট), তাহলে IIS Manager উইজার্ড সেগুলো এনকোড করতে পারে না।
  • যদি আপনার CA কঠোরভাবে জমা দেওয়া রিকোয়েস্ট অনুযায়ী গ্রহণ করে, তাহলে একটি একক হোস্টনেমের জন্যও SAN অনুপস্থিত থাকলে তা প্রত্যাখ্যাত হতে পারে।

একটি নামের বেশি কিছুর জন্য, নিচের certreq.exe পদ্ধতি ব্যবহার করুন, অথবা আমাদের CSR Generator দিয়ে CSR তৈরি করুন এবং ইস্যুকৃত সার্টিফিকেটটি IIS-এ .pfx হিসেবে ইম্পোর্ট করুন।

certreq.exe এবং একটি INF ফাইল দিয়ে CSR তৈরি করুন (SAN-সক্ষম)

certreq.exe কমান্ড-লাইন টুলটি প্রতিটি Windows Server-এর সাথে আসে এবং এটি দিয়ে আপনি SAN, কী লেন্থ, নির্দিষ্ট সাবজেক্ট এবং প্রোভাইডার নির্দিষ্ট করতে পারেন। প্রক্রিয়াটি তিনটি অংশে বিভক্ত: একটি রিকোয়েস্ট INF ফাইল লিখুন, CSR তৈরি করতে (এবং Windows স্টোরে মিলে যাওয়া কী) certreq -new চালান, তারপর CSR-টি আপনার CA-তে জমা দিন।

ধাপ ১: রিকোয়েস্ট INF ফাইল তৈরি করুন

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

[Version]
Signature="$Windows NT$"

[NewRequest]
Subject = "CN=www.example.com, O=Example Inc, L=Seattle, S=Washington, 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

[EnhancedKeyUsageExtension]
OID = 1.3.6.1.5.5.7.3.1

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

মানগুলো সম্পর্কে নোট:

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

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

request.inf ধারণকারী ফোল্ডারে একটি এলিভেটেড Command Prompt অথবা PowerShell খুলুন এবং চালান:

certreq -new request.inf certreq.txt

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

যখন CA ইস্যুকৃত সার্টিফিকেট ফেরত দেয়, তখন এটি সম্পূর্ণ করুন:

certreq -accept certnew.cer

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

জমা দেওয়ার আগে CSR পরীক্ষা করুন (ঐচ্ছিক)

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

certutil -dump certreq.txt

যদি আপনার কাছে OpenSSL ইনস্টল থাকে (Windows-এ এটি ডিফল্টভাবে থাকে না; আপনি Shining Light Productions-এর মতো একটি বিল্ড থেকে আলাদাভাবে ইনস্টল করতে পারেন), এই কমান্ডটি একই বিস্তারিত প্রিন্ট করে:

openssl req -noout -text -in certreq.txt

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

IIS 8 এবং 8.5-এ CSR তৈরি করুন (Windows Server 2012 / 2012 R2)

IIS 8 / 8.5 উইজার্ড IIS 10-এর অনুরূপ। Windows Server 2012 এবং 2012 R2-এর এক্সটেন্ডেড সাপোর্ট অক্টোবর ২০২৩-এ শেষ হয়েছে, তাই এই ওয়ার্কলোডগুলো একটি বর্তমান Windows Server রিলিজে স্থানান্তর করার পরিকল্পনা করুন; যতক্ষণ না তা করেন, নিচের ধাপগুলো এখনও কাজ করবে।

  • Win + R চাপুন, inetmgr টাইপ করুন, এবং OK-তে ক্লিক করুন। (অথবা Start স্ক্রিন থেকে Internet Information Services (IIS) Manager খুলুন।)
  • Connections-এ, সার্ভার নির্বাচন করুন, তারপর Home প্যানেলে Server Certificates-এ ডাবল-ক্লিক করুন।
  • Actions-এ, Create Certificate Request-এ ক্লিক করুন।
  • Distinguished Name Properties-এ, উপরে IIS 10-এ বর্ণিত ঠিক একইভাবে Common Name, Organization, Organizational unit, City/locality, State/province, এবং Country/region পূরণ করুন (শুধু স্ট্যান্ডার্ড ASCII অক্ষর, পূর্ণ রাজ্য ও শহরের নাম, দুই অক্ষরের দেশ কোড)। Next-এ ক্লিক করুন।
  • Cryptographic Service Provider Properties-এ, Microsoft RSA SChannel Cryptographic Provider নির্বাচন করুন এবং Bit length 2048-এ সেট করুন। Next-এ ক্লিক করুন।
  • File Name-এ, একটি ফোল্ডার নির্বাচন করুন যা আপনি পরে খুঁজে পাবেন এবং ফাইলটি .txt এক্সটেনশনসহ সংরক্ষণ করুন (যেমন certreq.txt)। Finish-এ ক্লিক করুন।
  • Notepad-এ সংরক্ষিত ফাইলটি খুলুন, সম্পূর্ণ BEGIN NEW CERTIFICATE REQUEST থেকে END NEW CERTIFICATE REQUEST ব্লক কপি করুন, এবং আপনার অর্ডার ফর্মে পেস্ট করুন।

একই SAN সীমাবদ্ধতা IIS 8 / 8.5-তেও প্রযোজ্য: যদি আপনার একাধিক হোস্টনেম প্রয়োজন হয়, তাহলে উপরের certreq.exe পদ্ধতি ব্যবহার করুন।

IIS 7-এ CSR তৈরি করুন (Windows Server 2008 / 2008 R2)

Windows Server 2008 এবং 2008 R2 অনেক আগেই সাপোর্ট শেষ হয়ে গেছে, তাই IIS 7 উইজার্ডকে এমন সিস্টেমের জন্য একটি লিগ্যাসি পদ্ধতি হিসেবে বিবেচনা করুন যা আপনি এখনও প্রতিস্থাপন করতে পারেননি। প্রক্রিয়াটি IIS 8 / 10-এর মতোই:

  • Win + R চাপুন, inetmgr টাইপ করুন, এবং OK-তে ক্লিক করুন, অথবা Start > Administrative Tools > Internet Information Services (IIS) Manager খুলুন।
  • Connections-এ, সার্ভারের নাম নির্বাচন করুন, তারপর Server Certificates-এ ডাবল-ক্লিক করুন।
  • Actions-এ, Create Certificate Request-এ ক্লিক করুন।
  • Distinguished Name Properties-এ, IIS 10-এ বর্ণিত অনুযায়ী Common Name, Organization, Organizational unit, City/locality, State/province, এবং Country/region লিখুন। Next-এ ক্লিক করুন।
  • Cryptographic Service Provider Properties-এ, Microsoft RSA SChannel Cryptographic Provider এবং 2048 বিট নির্বাচন করুন। Next-এ ক্লিক করুন।
  • Specify a file name for the certificate request-এর অধীনে ব্রাউজ বাটনে ক্লিক করুন, একটি ফোল্ডার নির্বাচন করুন, .txt-এ শেষ হওয়া একটি ফাইলের নাম টাইপ করুন, এবং Finish-এ ক্লিক করুন।
  • Notepad-এ সংরক্ষিত ফাইলটি খুলুন, সম্পূর্ণ রিকোয়েস্ট ব্লক কপি করুন (BEGIN NEW CERTIFICATE REQUEST এবং END NEW CERTIFICATE REQUEST লাইনসহ), এবং আপনার অর্ডার ফর্মে পেস্ট করুন।

IIS 5 এবং 6-এ CSR তৈরি করুন (অপ্রচলিত)

IIS 5 এবং 6 (Windows 2000 Server এবং Windows Server 2003) অনেক আগেই সাপোর্ট শেষ হয়ে গেছে এবং পাবলিক সাইট চালানো উচিত নয়। এই সেকশনটি শুধুমাত্র তখনই ব্যবহার করুন যদি আপনি এমন লিগ্যাসি অবকাঠামো বজায় রাখছেন যা এখনও প্রতিস্থাপন করতে পারেননি:

  • Start > Control Panel > Administrative Tools > Internet Information Services খুলুন।
  • Default Web Site-এ (অথবা আপনার সাইট) রাইট-ক্লিক করুন এবং Properties নির্বাচন করুন।
  • Directory Security ট্যাব খুলুন এবং Server Certificate-এ ক্লিক করুন।
  • IIS Certificate Wizard-এ, Create a new certificate নির্বাচন করুন এবং Next-এ ক্লিক করুন।
  • Prepare the request now, but send it later নির্বাচন করুন এবং Next-এ ক্লিক করুন।
  • সার্টিফিকেটের জন্য একটি বর্ণনামূলক নাম টাইপ করুন, Bit length 2048-এ সেট করুন, অন্য চেকবক্সগুলো টিক না দিয়ে রাখুন, এবং Next-এ ক্লিক করুন।
  • আইনি প্রতিষ্ঠানের নাম এবং একটি Organizational unit লিখুন (একটি সংক্ষিপ্ত লেবেল ব্যবহার করুন যেমন IT)। Next-এ ক্লিক করুন।
  • Common Name-এ, আপনার সাইটের FQDN লিখুন, যেমন www.example.comNext-এ ক্লিক করুন।
  • Country/region, State/province, এবং City/locality পূরণ করুন, তারপর Next-এ ক্লিক করুন।
  • একটি ফোল্ডার এবং ফাইলের নাম নির্বাচন করুন (.txt হিসেবে সংরক্ষণ করুন), Next-এ ক্লিক করুন, সারসংক্ষেপ পর্যালোচনা করুন, এবং CSR লিখতে আবার Next-এ ক্লিক করুন।
  • Notepad-এ ফাইলটি খুলুন, সম্পূর্ণ রিকোয়েস্ট ব্লক কপি করুন, এবং আপনার অর্ডার ফর্মে পেস্ট করুন।

CA আপনার CSR যাচাই করে সার্টিফিকেট ইস্যু করার পর, IIS SSL ইনস্টলেশন নির্দেশনা দিয়ে এগিয়ে যান।

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

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

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

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