bg-tutorials

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

यह ट्यूटोरियल आपको दिखाता है Java keytool यूटिलिटी का उपयोग करके Apache Tomcat के लिए CSR (Certificate Signing Request) कैसे जनरेट करें। यह प्रक्रिया दो कमांड में होती है: पहले keytool -genkeypair एक कीस्टोर और एक चुने हुए alias के अंतर्गत एक प्राइवेट कुंजी बनाता है, फिर keytool -certreq मिलान वाला CSR एक्सपोर्ट करता है। जब आप हस्ताक्षरित सर्टिफिकेट इम्पोर्ट करते हैं, तब भी उसी alias का पुन: उपयोग किया जाता है, इसलिए कुंजी, CSR, और अंततः सर्टिफिकेट सभी एक ही जगह रहते हैं।

आपको क्या आवश्यकता होगी

  • एक Java इंस्टॉलेशन (JDK या JRE) ताकि keytool कमांड उपलब्ध हो। इसे keytool -help से पुष्टि करें।
  • उस सर्वर पर शेल या टर्मिनल एक्सेस जो प्राइवेट कुंजी होस्ट करेगा। प्राइवेट कुंजी इस सर्वर पर ही रहनी चाहिए।
  • वह सटीक fully qualified domain name (FQDN) जिसे आप सुरक्षित करना चाहते हैं, उदाहरण के लिए www.yourdomain.com, साथ ही कोई भी अतिरिक्त डोमेन जिन्हें आप कवर करना चाहते हैं (SAN फील्ड के लिए)।
  • CSR के Distinguished Name के लिए आपके संगठन का कानूनी विवरण (देश, राज्य, स्थान, संगठन का नाम)।

चरण 1: कीस्टोर और प्राइवेट कुंजी बनाएं

यदि आपने पहले से ही अपना CSR जनरेट कर लिया है, तो सीधे CSR सबमिट करें पर जाएं और फिर Tomcat पर अपना SSL सर्टिफिकेट इंस्टॉल करें पर जाएं।

सर्वर पर एक टर्मिनल खोलें और PKCS12 फॉर्मेट में एक नया कीस्टोर बनाएं। PKCS12 आधुनिक, पोर्टेबल स्टैंडर्ड है और JDK 9 के बाद से Java में डिफॉल्ट कीस्टोर फॉर्मेट रहा है; पुराना JKS फॉर्मेट अब डिप्रीकेटेड है। चलाएं:

keytool -genkeypair 
  -alias tomcat 
  -keyalg RSA -keysize 2048 
  -storetype PKCS12 
  -keystore yourdomain.p12 
  -validity 825

फ्लैग्स का मतलब यह है:

  • -alias tomcat: कीस्टोर के भीतर एंट्री का नाम। ऐसा लेबल चुनें जिसे आप पहचान सकें (अक्सर tomcat या आपका डोमेन)। इसे लिख कर रखें। CSR जनरेट करते समय और हस्ताक्षरित सर्टिफिकेट इम्पोर्ट करते समय आपको यही सटीक alias फिर से उपयोग करना होगा।
  • -keyalg RSA -keysize 2048: 2048-बिट RSA कुंजी वर्तमान सार्वजनिक न्यूनतम है। नए कीस्टोर के लिए, लंबे समय तक चलने वाली कुंजियों के लिए 3072 बिट एक उचित अपग्रेड है। अधिकांश सार्वजनिक CA ECDSA (-keyalg EC -groupname secp256r1) भी स्वीकार करते हैं यदि आप एक छोटी, तेज़ कुंजी पसंद करते हैं।
  • -storetype PKCS12: आधुनिक PKCS12 कीस्टोर को बलपूर्वक उपयोग करता है। मिलान वाला एक्सटेंशन .p12 (या .pfx) है।
  • -keystore yourdomain.p12: बनाई जाने वाली कीस्टोर फ़ाइल। नाम को कुछ ऐसा रखें जो आपको याद रहे, और इस फ़ाइल को सुरक्षित रखें; इसमें आपकी प्राइवेट कुंजी शामिल है।
  • -validity 825: कीस्टोर के भीतर मौजूद सेल्फ-साइन्ड प्लेसहोल्डर सर्टिफिकेट कितने समय तक वैध है। CA से हस्ताक्षरित सर्टिफिकेट बाद में इसकी जगह लेता है, इसलिए सटीक मान प्रोडक्शन लाइफटाइम को प्रभावित नहीं करता।

keytool फिर एक कीस्टोर पासवर्ड के लिए संकेत देता है। एक मजबूत पासवर्ड चुनें और इसे अपने सीक्रेट्स मैनेजर में सुरक्षित रखें: आगे के प्रत्येक keytool कमांड और Tomcat के server.xml के लिए आपको इसकी आवश्यकता होगी। PKCS12 कीस्टोर के साथ, कुंजी पासवर्ड कीस्टोर पासवर्ड के समान होता है, इसलिए याद रखने के लिए केवल एक ही पासवर्ड होता है।

चरण 2: अपने संगठन का विवरण दर्ज करें (DN)

keytool अब Distinguished Name (DN) के लिए पूछता है: वे पहचान फील्ड जो CSR में जाते हैं। हर संकेत का उत्तर अपने संगठन के लिए सटीक, कानूनी मूल्य के साथ दें। विरामचिह्न और सटीकता महत्वपूर्ण है: CA सार्वजनिक व्यवसाय रिकॉर्ड के विरुद्ध बेमेल होने पर इसे अस्वीकार कर देगा।

  • पहला और अंतिम नाम (CN): यह keytool की शब्दावली है, लेकिन यह वास्तव में Common Name फील्ड है। वह सटीक FQDN दर्ज करें जिसे आप सुरक्षित कर रहे हैं, उदाहरण के लिए www.yourdomain.com, या एक वाइल्डकार्ड जैसे *.yourdomain.com। किसी व्यक्ति का नाम दर्ज न करें।
  • Organizational unit (OU): यह फील्ड अब सार्वजनिक CA द्वारा जारी नहीं की जाती और इसे खाली छोड़ना बेहतर है। छोड़ने के लिए Enter दबाएं।
  • Organization (O): आपकी कंपनी का पूरा कानूनी नाम, उदाहरण के लिए Your Company LLC
  • City or locality (L): पूरा शहर का नाम, उदाहरण के लिए San Jose। संक्षिप्त न करें।
  • State or province (ST): पूरा राज्य या प्रांत का नाम, उदाहरण के लिए California। दो-अक्षर वाले कोड का उपयोग न करें।
  • Country code (C): दो-अक्षर वाला ISO देश कोड, उदाहरण के लिए US, GB, DE

अंतिम संकेत के बाद, keytool एक सारांश दिखाता है जैसे CN=www.yourdomain.com, OU=, O=Your Company LLC, L=San Jose, ST=California, C=US। पुष्टि करने के लिए yes टाइप करें। कीस्टोर फ़ाइल अब एक एंट्री के साथ मौजूद है: आपका alias, जिसमें प्राइवेट कुंजी और एक सेल्फ-साइन्ड प्लेसहोल्डर सर्टिफिकेट है।

यदि आप एक नॉन-इंटरैक्टिव कमांड पसंद करते हैं, तो DN को इनलाइन पास करें और संकेतों को छोड़ दें:

keytool -genkeypair 
  -alias tomcat 
  -keyalg RSA -keysize 2048 
  -storetype PKCS12 
  -keystore yourdomain.p12 
  -dname "CN=www.yourdomain.com, O=Your Company LLC, L=San Jose, ST=California, C=US" 
  -validity 825

चरण 3: SAN के साथ CSR जनरेट करें

आधुनिक ब्राउज़र और क्लाइंट सर्टिफिकेट को Subject Alternative Name (SAN) एक्सटेंशन के विरुद्ध सत्यापित करते हैं, केवल Common Name के विरुद्ध नहीं। CSR में सीधे SAN का अनुरोध करें ताकि CA उन्हें जारी किए गए सर्टिफिकेट में शामिल करे। चरण 1 में उपयोग किए गए उसी alias और कीस्टोर का उपयोग करें:

keytool -certreq 
  -alias tomcat 
  -keystore yourdomain.p12 
  -file yourdomain.csr 
  -ext san=dns:yourdomain.com,dns:www.yourdomain.com

फ्लैग्स का मतलब यह है:

  • -alias tomcat: चरण 1 के alias से मिलना चाहिए। यह वह alias है जिसकी प्राइवेट कुंजी अनुरोध पर हस्ताक्षर करती है।
  • -keystore yourdomain.p12: चरण 1 के कीस्टोर से मिलना चाहिए।
  • -file yourdomain.csr: CSR के लिए आउटपुट फ़ाइल नाम।
  • -ext san=dns:…: Subject Alternative Name एक्सटेंशन। सर्टिफिकेट को कवर करने वाले हर होस्टनेम को सूचीबद्ध करें, जिसमें बेयर एपेक्स (yourdomain.com) और www सबडोमेन दोनों शामिल हैं। अधिक एंट्री कॉमा से अलग करके जोड़ें, उदाहरण के लिए dns:api.yourdomain.com

keytool कीस्टोर पासवर्ड के लिए संकेत देता है और CSR को वर्तमान डायरेक्टरी में yourdomain.csr के रूप में लिखता है।

महत्वपूर्ण: अपना alias और कीस्टोर सुरक्षित रखें

Tomcat पर सबसे सामान्य keytool गलती है हस्ताक्षरित सर्टिफिकेट को एक नए alias के अंतर्गत इम्पोर्ट करना। ऐसा करने से सर्टिफिकेट एक स्टैंडअलोन ट्रस्टेड एंट्री के रूप में सेव हो जाता है जिसमें कोई प्राइवेट कुंजी जुड़ी नहीं होती, और TLS काम नहीं करेगा। हस्ताक्षरित रिप्लाई को हमेशा उस समान alias में इम्पोर्ट करें जिसमें प्राइवेट कुंजी है (चरण 1 का alias)।

टर्मिनल बंद करने से पहले, इन तीन मूल्यों को नोट कर लें:

  • **alias** (इस गाइड में, **tomcat**)।
  • alias (इस गाइड में, tomcat)।
  • कीस्टोर फ़ाइल पथ (उदाहरण के लिए yourdomain.p12)।
  • कीस्टोर पासवर्ड

यदि आप निश्चित नहीं हैं कि कौन सा alias आपकी कुंजी रखता है, तो कीस्टोर की सामग्री सूचीबद्ध करें और उस एंट्री को देखें जिसका प्रकार PrivateKeyEntry है:

keytool -list -v -keystore yourdomain.p12

चरण 4: सबमिट करने से पहले CSR सत्यापित करें

CA द्वारा सत्यापित करने से पहले DN में टाइपो या गायब SAN को पकड़ें। keytool के साथ CSR प्रिंट करें:

keytool -printcertreq -file yourdomain.csr

या, यदि OpenSSL इंस्टॉल है, तो आप इसका उपयोग कर सकते हैं:

openssl req -noout -text -in yourdomain.csr

आउटपुट में तीन बातों की पुष्टि करें: Subject आपका सटीक DN दिखाता है, Subject Alternative Name आपके आवश्यक हर होस्टनेम को सूचीबद्ध करता है, और Public-Key का आकार आपके द्वारा माँगे गए मान से मेल खाता है (2048-बिट RSA, या जो भी आपने चुना हो)। आप वही जांच ब्राउज़र में करने के लिए CSR को हमारे CSR Decoder में भी पेस्ट कर सकते हैं।

चरण 5: अपने Certificate Authority को CSR सबमिट करें

yourdomain.csr को किसी भी टेक्स्ट एडिटर में खोलें। यह फ़ाइल प्लेन टेक्स्ट है, जो —–BEGIN CERTIFICATE REQUEST—– से शुरू होती है और —–END CERTIFICATE REQUEST—– पर समाप्त होती है। पूरे ब्लॉक को कॉपी करें, इन हेडर और फुटर लाइनों को शामिल करते हुए, और अपने CA के साथ चेकआउट के दौरान CSR फील्ड में पेस्ट करें। Windows पर, पूरा टेक्स्ट लेने के लिए Ctrl + A फिर Ctrl + C का उपयोग करें; macOS पर, Cmd + A फिर Cmd + C का उपयोग करें।

CA द्वारा आपके अनुरोध को सत्यापित करने और सर्टिफिकेट जारी करने के बाद, Tomcat पर अपना SSL सर्टिफिकेट कैसे इंस्टॉल करें के साथ जारी रखें। आप हस्ताक्षरित सर्टिफिकेट को उसी कीस्टोर में समान alias में वापस इम्पोर्ट करेंगे, और फिर Tomcat के HTTPS कनेक्टर को उस कीस्टोर की ओर इंगित करेंगे।

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

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

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

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