सेल्फ़-साइन्ड सर्टिफ़िकेट और CSR जनरेटर
SAN, RSA 2048–4096 key और अपनी वैधता के साथ सेल्फ़-साइन्ड X.509 TLS सर्टिफ़िकेट, CA सर्टिफ़िकेट या CSR बनाएँ। PEM आउटपुट; key आपके पास ही रहती है।
आमतौर पर होस्ट नाम, जैसे localhost या www.example.com।
अतिरिक्त DNS नाम और IP पते, कॉमा या नई पंक्ति से अलग। ब्राउज़र CN नहीं, इन्हें जाँचते हैं।
RSA की आपके ब्राउज़र में Web Crypto से बनती है और कभी आपके डिवाइस से बाहर नहीं जाती।
SSL सर्टिफ़िकेट जनरेटर क्या है?
OpenSSL कमांड लाइन के बिना TLS के लिए ज़रूरी फ़ाइलें बनाएँ: लोकल डेवलपमेंट या आंतरिक सेवाओं के लिए सेल्फ़-साइन्ड TLS सर्टिफ़िकेट, अपने सर्टिफ़िकेट साइन करने के लिए सेल्फ़-साइन्ड CA सर्टिफ़िकेट, या सर्टिफ़िकेट अथॉरिटी को भेजने के लिए सर्टिफ़िकेट साइनिंग रिक्वेस्ट (CSR)। आपको सर्टिफ़िकेट या CSR और PEM प्रारूप में RSA प्राइवेट key, साथ में SHA-256 फ़िंगरप्रिंट मिलता है।
SSL सर्टिफ़िकेट जनरेटर का उपयोग कैसे करें
- क्या बनाना है चुनें।
- कॉमन नेम (CN) और सब्जेक्ट अल्टरनेटिव नेम (SAN) (DNS नाम और IP) दर्ज करें, साथ में वैकल्पिक संगठन और स्थान के फ़ील्ड।
- की का आकार चुनें और, सर्टिफ़िकेट के लिए, वैधता (दिन)।
- जनरेट करें पर क्लिक करें और सर्टिफ़िकेट (
.crt) या CSR (.csr) और प्राइवेट key (.key) डाउनलोड करें।
उदाहरण
Self-signed TLS certificate, CN localhost, SANs 127.0.0.1 and ::1, RSA 2048, 365 days
-----BEGIN CERTIFICATE----- … -----END CERTIFICATE----- Subject: CN=localhost SAN: DNS:localhost, IP:127.0.0.1, IP:::1
SSL सर्टिफ़िकेट जनरेटर का उपयोग कब करें
localhost, डेवलपमेंट कंटेनर, इंट्रानेट सेवाओं, IoT प्रोटोटाइप और TLS कॉन्फ़िगरेशन टेस्ट करने के लिए सेल्फ़-साइन्ड सर्टिफ़िकेट इस्तेमाल करें। जब तक आप सर्टिफ़िकेट (या अपने CA) पर भरोसा न करें, ब्राउज़र चेतावनी दिखाते हैं। सार्वजनिक वेबसाइट के लिए Let's Encrypt जैसा CA इस्तेमाल करें: यहाँ CSR बनाएँ या अपने सर्वर या ACME क्लाइंट से बनवाएँ।
SSL सर्टिफ़िकेट जनरेटर कैसे काम करता है
RSA key जोड़ी ब्राउज़र के Web Crypto API (RSASSA-PKCS1-v1_5, पब्लिक एक्सपोनेंट 65537) से बनती है और node-forge में इंपोर्ट होती है। सर्टिफ़िकेट के लिए forge एक X.509 v3 सर्टिफ़िकेट बनाता है जिसमें रैंडम 128-बिट धनात्मक सीरियल नंबर, एक मिनट पहले से चुने हुए दिनों तक की वैधता, समान सब्जेक्ट और इश्यूअर (सेल्फ़-साइन्ड), और एक्सटेंशन होते हैं: basicConstraints (CA true/false, critical), keyUsage (सर्वर के लिए digitalSignature + keyEncipherment, CA के लिए keyCertSign + cRLSign), extendedKeyUsage serverAuth/clientAuth, subjectKeyIdentifier और subjectAltName। CN अगर होस्ट नाम या IP हो तो SAN में अपने आप जुड़ जाता है। इस पर SHA-256 से हस्ताक्षर होते हैं। CSR, PKCS#10 अनुरोध हैं जो SAN को extensionRequest एट्रिब्यूट में रखते हैं। key PKCS#8 PEM के रूप में निर्यात होती हैं।
सामान्य उपयोग मामले
- localhost या डेवलपमेंट सर्वर पर HTTPS चालू करना
- आंतरिक नेटवर्क या लैब के लिए निजी CA बनाना
- व्यावसायिक सर्टिफ़िकेट के लिए CSR बनाना
- Nginx, Apache या लोड बैलेंसर में TLS सेटिंग टेस्ट करना
सुरक्षा नोट
प्राइवेट key वाला कोई भी व्यक्ति आपके सर्वर की नकल कर सकता है। .key फ़ाइल निजी रखें, उसे Git में कमिट न करें, और डेवलपमेंट key को प्रोडक्शन में दोबारा इस्तेमाल न करें।
अक्सर पूछे जाने वाले प्रश्न
मेरा ब्राउज़र क्यों कहता है कि सर्टिफ़िकेट भरोसेमंद नहीं है?
सेल्फ़-साइन्ड सर्टिफ़िकेट ऐसे CA ने जारी नहीं किया होता जिस पर आपका सिस्टम भरोसा करता है। अपनी मशीनों पर चेतावनी हटाने के लिए उसे (या जिस CA ने उसे साइन किया) अपने ऑपरेटिंग सिस्टम या ब्राउज़र के ट्रस्ट स्टोर में इंपोर्ट करें।
Subject Alternative Names ज़रूरी क्यों हैं?
आधुनिक ब्राउज़र Common Name को अनदेखा करते हैं और होस्ट नाम को केवल SAN सूची से मिलाते हैं, इसलिए आप जो भी होस्ट नाम और IP इस्तेमाल करते हैं वे वहाँ सूचीबद्ध होने चाहिए।
क्या प्राइवेट key सुरक्षित है?
वह आपके ब्राउज़र में बनती है और कहीं नहीं भेजी जाती। उसे डाउनलोड करें, सीमित अनुमतियों के साथ रखें और कभी साझा न करें।
मुझे कौन-सा key आकार चुनना चाहिए?
RSA 2048 आम न्यूनतम और व्यापक रूप से संगत है; 3072 या 4096 धीमे हैंडशेक की कीमत पर ज़्यादा मार्जिन देते हैं।