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 को अब होस्टनेम SAN में दिखना जरूरी है, सिर्फ Common Name में नहीं। यदि आपको SAN की जरूरत है (और लगभग हमेशा होती है), तो आगे दिए गए certreq.exe तरीके का उपयोग करें, या हमारे CSR Generator से ऑफ-सर्वर CSR जनरेट करें और जारी किए गए सर्टिफिकेट को .pfx फ़ाइल के रूप में इम्पोर्ट करें।

जिस Windows Server को आप सुरक्षित करना चाहते हैं (या किसी वर्कस्टेशन पर जो IIS साइट चलाता है) उस पर Administrator के रूप में साइन इन करें, फिर अपने IIS वर्शन से मेल खाने वाला सेक्शन फॉलो करें। नीचे दिए गए स्टेप्स Windows Server 2025, 2022, 2019, और 2016 (साथ ही Windows 10 और Windows 11 क्लाइंट पर IIS 10) पर 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 इंटरफेस हर रिलीज़ पर एक जैसा है।

स्टेप 1: IIS Manager खोलें

  • Win + R दबाएं, inetmgr टाइप करें, और Enter दबाएं, या
  • Start मेनू खोलें और Internet Information Services (IIS) Manager सर्च करें।

स्टेप 2: Server Certificates खोलें

  • बाईं ओर Connections पैनल में, सर्वर नाम पर क्लिक करें।
  • बीच वाले पैनल (Home) में, Server Certificates पर डबल-क्लिक करें।

स्टेप 3: सर्टिफिकेट रिक्वेस्ट शुरू करें

दाईं ओर Actions पैनल में, Create Certificate Request पर क्लिक करें। Distinguished Name Properties डायलॉग खुलेगा।

स्टेप 4: Distinguished Name भरें

नीचे दिए गए सब्जेक्ट विवरण दर्ज करें। केवल स्टैंडर्ड ASCII अक्षरों का उपयोग करें; नॉन-लैटिन अक्षर रिक्वेस्ट को खराब कर देते हैं:

  • Common Name: वह फुली क्वालिफाइड डोमेन नेम (FQDN) जिसे आप सुरक्षित करना चाहते हैं, उदाहरण के लिए www.example.com। वाइल्डकार्ड सर्टिफिकेट के लिए, एपेक्स डोमेन के आगे एक एस्टेरिस्क लगाएं, उदाहरण के लिए *.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 पर क्लिक करें।

स्टेप 5: Cryptographic Service Provider और की-लेंग्थ चुनें

Cryptographic Service Provider Properties डायलॉग में:

  • Cryptographic service provider: Microsoft RSA SChannel Cryptographic Provider चुनें। HTTPS पर IIS द्वारा सर्व किए जाने वाले RSA सर्टिफिकेट के लिए यही सही विकल्प है। (Microsoft DH SChannel Cryptographic Provider केवल उस दुर्लभ स्थिति में चुनें जहां आपको Diffie-Hellman की चाहिए, जिसका सामान्य वेब TLS में उपयोग नहीं होता।)
  • Bit length: 2048 चुनें। यह वर्तमान न्यूनतम है जिसे हर पब्लिक CA स्वीकार करता है। 3072 या 4096 केवल तभी चुनें जब आपकी पॉलिसी के लिए बड़ी की आवश्यक हो; इसका ट्रेड-ऑफ थोड़ा धीमा TLS हैंडशेक है।

Next पर क्लिक करें।

स्टेप 6: CSR फ़ाइल सेव करें

File Name डायलॉग में, ब्राउज़ बटन पर क्लिक करें और एक ऐसा फोल्डर चुनें जिसे आप फिर से ढूंढ सकें, फिर .txt एक्सटेंशन वाला फ़ाइल नाम टाइप करें, उदाहरण के लिए certreq.txt। डिफॉल्ट पथ C:WindowsSystem32 स्वीकार न करें: वह फोल्डर ब्राउज़ करना असुविधाजनक है और UAC के आधार पर आपको राइट परमिशन नहीं भी मिल सकती। डेस्कटॉप या एक अलग C:certs फोल्डर बेहतर काम करता है।

Finish पर क्लिक करें। IIS आपके चुने गए पथ पर CSR लिखता है और मैचिंग प्राइवेट की को इस सर्वर पर Windows सर्टिफिकेट स्टोर में पेंडिंग रिक्वेस्ट के रूप में स्टोर करता है।

स्टेप 7: 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 को 2017 से ट्रस्ट डिसीजन के लिए अनदेखा किया जा रहा है। पब्लिक CA सिंगल-नेम ऑर्डर के लिए स्वचालित रूप से CN को एक SAN एंट्री में कॉपी करके इसका जवाब देते हैं, तो एक CN-only रिक्वेस्ट एक होस्टनेम के लिए अब भी काम करती है। लेकिन:

  • यदि आपको एक सर्टिफिकेट पर कई होस्टनेम चाहिए (उदाहरण के लिए example.com और www.example.com, या एक मल्टी-डोमेन सर्टिफिकेट), तो IIS Manager विज़ार्ड उन्हें एनकोड नहीं कर सकता।
  • यदि आपका CA रिक्वेस्ट को सख्ती से सबमिट-जैसा-है स्वीकार करता है, तो मिसिंग SAN को एक सिंगल होस्टनेम के लिए भी रिजेक्ट किया जा सकता है।

एक सिंगल नेम से आगे की किसी भी स्थिति के लिए, नीचे दिए गए certreq.exe तरीके का उपयोग करें, या हमारे CSR Generator से CSR जनरेट करें और जारी किए गए सर्टिफिकेट को .pfx के रूप में IIS में इम्पोर्ट करें।

certreq.exe और एक INF फ़ाइल के साथ CSR जनरेट करें (SAN-सक्षम)

certreq.exe कमांड-लाइन टूल हर Windows Server के साथ आता है और आपको SAN, की-लेंग्थ, सटीक सब्जेक्ट, और प्रोवाइडर निर्दिष्ट करने की अनुमति देता है। फ्लो के तीन भाग हैं: एक रिक्वेस्ट INF फ़ाइल लिखें, CSR जनरेट करने के लिए certreq -new चलाएं (और Windows स्टोर में मैचिंग की भी), फिर CSR को अपने CA को सबमिट करें।

स्टेप 1: रिक्वेस्ट INF फ़ाइल बनाएं

Notepad को Administrator के रूप में खोलें और नीचे दी गई फ़ाइल को 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_ लाइन जोड़ें; आखिरी को छोड़कर हर लाइन & सेपरेटर से समाप्त होनी चाहिए।

स्टेप 2: 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

ऑनलाइन टूल पसंद करते हैं? रिक्वेस्ट की सामग्री को SSL Dragon के CSR decoder में पेस्ट करें ताकि Common Name, SAN एंट्रीज़, और की साइज़ को वापस पढ़ सकें। पुष्टि करें कि 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 अक्टूबर 2023 में एक्सटेंडेड सपोर्ट के अंत तक पहुंच गए हैं, इसलिए इन वर्कलोड्स को किसी वर्तमान 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 तक का ब्लॉक कॉपी करें, और उसे अपने ऑर्डर फॉर्म में पेस्ट करें।

IIS 8 / 8.5 पर भी वही SAN सीमा लागू होती है: यदि आपको एक से अधिक होस्टनेम चाहिए, तो ऊपर दिए गए 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 इंस्टॉलेशन निर्देशों के साथ आगे बढ़ें।

आज ऑर्डर करते समय एसएसएल प्रमाणपत्रों पर 10% की बचत करें!

तेजी से जारी करना, मजबूत एन्क्रिप्शन, 99.99% ब्राउज़र ट्रस्ट, समर्पित समर्थन और 25 दिन की मनी-बैक गारंटी। कूपन कोड: SAVE10

उड़ान में एक ड्रैगन की एक विस्तृत छवि
द्वारा लिखित

एसएसएल प्रमाणपत्रों में विशेषज्ञता वाला अनुभवी सामग्री लेखक। जटिल साइबर सुरक्षा विषयों को स्पष्ट, आकर्षक सामग्री में बदलना। प्रभावशाली आख्यानों के माध्यम से डिजिटल सुरक्षा को बेहतर बनाने में योगदान करें।