bg-tutorials

Debian पर CSR कैसे जनरेट करें

यह गाइड आपको OpenSSL कमांड लाइन का उपयोग करके Debian पर CSR (Certificate Signing Request) कैसे जेनरेट करें दिखाती है। आप SSH पर एक ही कमांड चलाते हैं जो एक साथ दो फ़ाइलें बनाती है: एक private key जो आपके सर्वर पर रहती है, और CSR जिसे आप अपनी Certificate Authority (CA) को सबमिट करते हैं। ये चरण Debian 13 (trixie), Debian 12 (bookworm), और पहले के रिलीज़ पर काम करते हैं, क्योंकि OpenSSL बेस सिस्टम में शामिल आता है।

CSR एक छोटा टेक्स्ट ब्लॉक होता है जिसमें आपके डोमेन का विवरण और एक public key होती है। CA इसे पढ़ता है, आपके रिक्वेस्ट को वेरिफाई करता है, और एक ऐसा सर्टिफिकेट जारी करता है जो साथ बनाई गई private key से मेल खाता है। private key कभी भी आपके सर्वर से बाहर नहीं जाती, इसलिए इसे सुरक्षित रखें: यदि आप इसे खो देते हैं, तो जारी किया गया सर्टिफिकेट अनुपयोगी हो जाता है और आपको फिर से शुरुआत करनी होगी।

चरण 1: अपने Debian सर्वर में लॉग इन करें

एक टर्मिनल खोलें और SSH के माध्यम से सर्वर से कनेक्ट करें। your-user को अपने अकाउंट नाम से और your-server-ip को सर्वर के IP एड्रेस या होस्टनेम से बदलें:

ssh your-user@your-server-ip

OpenSSL Debian बेस सिस्टम में शामिल है, इसलिए अलग से इंस्टॉल करने के लिए कुछ नहीं है। यह उपलब्ध है यह पुष्टि करने के लिए, वर्शन चेक करें:

openssl version

चरण 2: private key और CSR जेनरेट करें

नीचे दिए गए कमांड को चलाएं। यह एक ही चरण में private key और CSR बनाता है और उन Subject Alternative Names (SANs) को शामिल करता है जिनकी आधुनिक ब्राउज़र और CA आवश्यकता रखते हैं। इसे उस डायरेक्टरी से चलाएं जिसमें आप लिख सकते हैं, जैसे कि आपकी होम डायरेक्टरी:

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

यहाँ बताया गया है कि हर हिस्सा क्या करता है:

  • req -new एक नया certificate signing request बनाता है।
  • -newkey rsa:2048 एक नई 2048-बिट RSA private key जेनरेट करता है। 2048 बिट पब्लिक सर्टिफिकेट्स के लिए वर्तमान न्यूनतम है; आप बड़ी key के लिए rsa:4096 का उपयोग कर सकते हैं।
  • -nodes private key को अनएन्क्रिप्टेड (कोई पासफ्रेज़ नहीं) रखता है, ताकि वेब सर्वर पासवर्ड मांगे बिना शुरू हो सके।
  • -keyout mywebsite.key private key लिखता है। इस फ़ाइल को निजी रखें और इसे कभी किसी को न भेजें।
  • -out mywebsite.csr वह CSR लिखता है जिसे आप CA को सबमिट करते हैं।
  • -subj सब्जेक्ट फ़ील्ड्स को इनलाइन भरता है ताकि कमांड बिना इंटरैक्टिव प्रॉम्प्ट्स के चले। CN (Common Name) को अपने पूरी तरह से क्वालिफाइड डोमेन नाम पर सेट करें।
  • -addext “subjectAltName=…” SAN एंट्रीज़ जोड़ता है। CA SAN लिस्ट के विरुद्ध सर्टिफिकेट जारी करते हैं, इसलिए हर वह होस्टनेम शामिल करें जिसे सर्टिफिकेट को कवर करना चाहिए।

mywebsite.com को अपने वास्तविक डोमेन से बदलें, और अपने संगठन से मेल खाने के लिए -subj वैल्यूज़ को एडिट करें। दो-अक्षर वाला कंट्री कोड (C) अपरकेस में होना चाहिए, उदाहरण के लिए US या GB। domain-validated (DV) सर्टिफिकेट के लिए, संगठन फ़ील्ड्स वेरिफाई नहीं की जाती हैं, लेकिन कमांड को अभी भी वैलिड वैल्यूज़ की आवश्यकता होती है।

यदि आप -subj के बजाय फ़ील्ड्स को इंटरैक्टिव रूप से भरना पसंद करते हैं, तो उस लाइन को हटा दें और OpenSSL आपसे हर वैल्यू के लिए पूछेगा:

openssl req -new -newkey rsa:2048 -nodes 
-keyout mywebsite.key 
-out mywebsite.csr 
-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com"

जब प्रॉम्प्ट किया जाए, तो Enter दबाकर challenge password और optional company name को खाली छोड़ दें। CA उन फ़ील्ड्स को अनदेखा करते हैं, और एक challenge password बाद में समस्याएं पैदा कर सकता है।

अधिक डोमेन या वाइल्डकार्ड जोड़ना

SAN लिस्ट में और होस्टनेम जोड़ें, कॉमा से अलग करके। उदाहरण के लिए, एक API सबडोमेन शामिल करने के लिए:

-addext "subjectAltName=DNS:mywebsite.com,DNS:www.mywebsite.com,DNS:api.mywebsite.com"

वाइल्डकार्ड सर्टिफिकेट के लिए, *.mywebsite.com का उपयोग करें। एक वाइल्डकार्ड सबडोमेन के एक स्तर को कवर करता है लेकिन बेयर डोमेन को नहीं, इसलिए यदि आप एपेक्स को भी कवर करना चाहते हैं तो दोनों को सूचीबद्ध करें:

-addext "subjectAltName=DNS:*.mywebsite.com,DNS:mywebsite.com"

ECDSA key पसंद करते हैं?

ECDSA keys समान सुरक्षा स्तर पर RSA से छोटी और तेज़ होती हैं और व्यापक रूप से सपोर्टेड हैं। इसके बजाय P-256 (prime256v1) key और CSR जेनरेट करने के लिए, -newkey आर्गुमेंट को बदलें:

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

आधुनिक OpenSSL डिफ़ॉल्ट रूप से CSR को SHA-256 के साथ साइन करता है, जो कि CA द्वारा आवश्यक है। एक अलग डाइजेस्ट फ्लैग जोड़ने की कोई आवश्यकता नहीं है।

चरण 3: CSR को वेरिफाई करें

रिक्वेस्ट सबमिट करने से पहले, पुष्टि करें कि इसमें सही डोमेन और SANs हैं और इसका सिग्नेचर वैलिड है। यह कमांड डिकोड की गई सामग्री प्रिंट करता है और लोकली सिग्नेचर की जांच करता है:

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

आउटपुट में verify OK देखें, जांचें कि Subject लाइन आपका Common Name दिखाती है, और पुष्टि करें कि X509v3 Subject Alternative Name सेक्शन में वे सभी होस्टनेम सूचीबद्ध हैं जिनकी आप अपेक्षा करते हैं। यदि कोई SAN गायब है, तो सही -addext वैल्यू के साथ CSR को फिर से जेनरेट करें। आप इन फ़ील्ड्स को ब्राउज़र में चेक करने के लिए हमारे ऑनलाइन CSR decoder में CSR को पेस्ट भी कर सकते हैं।

चरण 4: CSR सबमिट करें

CSR फ़ाइल खोलें और इसकी पूरी सामग्री कॉपी करें, जिसमें BEGIN और END लाइनें शामिल हैं:

cat mywebsite.csr

ब्लॉक इस तरह दिखता है। पहली लाइन से आखिरी तक सब कुछ कॉपी करें, जिसमें BEGIN और END मार्कर्स के दोनों तरफ के पांच हाइफ़न भी शामिल हैं:

-----BEGIN CERTIFICATE REQUEST-----
MIIC...base64-encoded data...AB
-----END CERTIFICATE REQUEST-----

उस ब्लॉक को अपने SSL ऑर्डर फ़ॉर्म में पेस्ट करें। CA द्वारा CSR को वेरिफाई करने और SSL सर्टिफिकेट जारी करने के बाद, इसे डिप्लॉय करने के लिए Debian SSL इंस्टॉलेशन निर्देश का पालन करें। mywebsite.key फ़ाइल को सर्वर पर रखें: HTTPS सक्षम करने के लिए आपको इसे जारी किए गए सर्टिफिकेट के साथ आवश्यकता होती है, और आपको इसे कभी भी CA या किसी और को नहीं भेजना चाहिए।

यदि आप कमांड लाइन का उपयोग नहीं करना चाहते, तो आप हमारे CSR Generator से रिक्वेस्ट बना सकते हैं और परिणाम को अपने ऑर्डर में पेस्ट कर सकते हैं।

अन्य प्लेटफार्मों पर CSR जेनरेट करें

एक अलग Linux डिस्ट्रीब्यूशन या सर्वर का उपयोग कर रहे हैं? हमारी अन्य CSR गाइड्स देखें:

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

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

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

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