RSA की जनरेटर कैसे इस्तेमाल करें
- की का साइज़, एल्गोरिदम और हैश चुनें।
- Generate पर क्लिक करें (4096-बिट कीज़ बनने में कुछ सेकंड लग सकते हैं)।
- private.pem और public.pem डाउनलोड करें या JWK कॉपी करें।
- प्राइवेट की गुप्त रखें; सिर्फ़ पब्लिक की प्रकाशित करें।
RSA की जनरेटर की खूबियाँ
- crypto.subtle.generateKey से बनी 2048, 3072 या 4096-बिट कीज़
- RSASSA-PKCS1-v1_5 (RS256/384/512), RSA-PSS (PS256/384/512) या RSA-OAEP
- PEM एक्सपोर्ट: PKCS#8 प्राइवेट की और SPKI पब्लिक की
- alg और use सेट के साथ वैकल्पिक JWK एक्सपोर्ट
- सुझाया गया JWT एल्गोरिदम और kid; OpenSSL तथा SSH के लिए कन्वर्ज़न संकेत
- सब कुछ लोकल होता है — प्राइवेट कीज़ कभी अपलोड नहीं होतीं
RSA की जनरेटर का उदाहरण
RS256 की पेयर
इनपुट:
Key size: 2048 · Algorithm: RSASSA-PKCS1-v1_5 · Hash: SHA-256आउटपुट:
-----BEGIN PRIVATE KEY-----
MIIEvQIBADANBgkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQC…
-----END PRIVATE KEY-----
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA…
-----END PUBLIC KEY-----RSA की जनरेटर के बारे में अक्सर पूछे जाने वाले सवाल
मुझे कौन-सा की साइज़ चुनना चाहिए?
2048 बिट आम न्यूनतम है और जल्दी बन जाता है। 3072 बिट उस 128-बिट सुरक्षा स्तर तक पहुँचता है जिसकी सिफ़ारिश 2030 के बाद इस्तेमाल होने वाली कीज़ के लिए की जाती है। 4096 बिट सबसे सतर्क विकल्प है, पर बनाने और इस्तेमाल करने में साफ़ तौर पर धीमा है।
PKCS#8 और PKCS#1 PEM में क्या अंतर है?
PKCS#8 ("BEGIN PRIVATE KEY") आधुनिक, एल्गोरिदम-निरपेक्ष कंटेनर है, जिसे WebCrypto एक्सपोर्ट करता है। पुराने टूल PKCS#1 ("BEGIN RSA PRIVATE KEY") की अपेक्षा करते हैं; बदलने के लिए: openssl rsa -in private.pem -traditional -out private-pkcs1.pem।
क्या मैं इन कीज़ का इस्तेमाल JWT RS256 के लिए कर सकता हूँ?
हाँ। SHA-256 के साथ RSASSA-PKCS1-v1_5 चुनें, अपने सर्वर पर प्राइवेट की से साइन करें और वेरिफ़िकेशन के लिए पब्लिक की (या उसका JWK) प्रकाशित करें। PS256 के लिए RSA-PSS चुनें।
क्या मैं इन्हें SSH के लिए इस्तेमाल कर सकता हूँ?
सीधे नहीं: SSH अपना ही पब्लिक-की फ़ॉर्मेट इस्तेमाल करता है। PEM को "ssh-keygen -i -m PKCS8 -f public.pem" से बदलें, या ssh-keygen से ही SSH कीज़ बनाएँ।
क्या कीज़ वाकई लोकल बनती हैं?
हाँ — crypto.subtle.generateKey आपके ब्राउज़र के भीतर ही चलता है। कुछ भी कहीं नहीं भेजा जाता, और पेज छोड़ने के बाद उसके पास कोई प्रति नहीं रहती।
तकनीकी नोट्स
WebCrypto पब्लिक एक्सपोनेंट 65537 के साथ की पेयर बनाता है और DER संरचनाएँ एक्सपोर्ट करता है (प्राइवेट की के लिए PKCS#8, पब्लिक की के लिए SubjectPublicKeyInfo)। टूल उस DER को 64 कैरेक्टर की लाइनों में Base64 एन्कोड करके PEM आवरण जोड़ता है, जिससे बनी फ़ाइलें OpenSSL, Node.js, Java और हर JOSE लाइब्रेरी स्वीकार करती हैं।