UTILS.
100% ब्राउज़र में
🗝️

RSA / EC Key-Pair जनरेटर (PEM एक्सपोर्ट)

WebCrypto के साथ अपने ब्राउज़र में एक RSA या EC key pair बनाएँ और public व private keys को PEM या JWK के रूप में एक्सपोर्ट करें। Keys कभी आपका डिवाइस नहीं छोड़तीं।

Keys आपके ब्राउज़र में स्थानीय रूप से बनती हैं — private key कभी अपलोड नहीं होती।

— आउटपुट यहाँ दिखेगा —
— आउटपुट यहाँ दिखेगा —

इस टूल के बारे में

RSA / EC Key-Pair जनरेटर मूल WebCrypto API (crypto.subtle.generateKey) का उपयोग करके पूरी तरह आपके ब्राउज़र में एक असममित key pair बनाता है, फिर उसे उन प्रारूपों में एक्सपोर्ट करता है जिन्हें आप वास्तव में कॉन्फ़िग फ़ाइलों और कोड में पेस्ट करते हैं। कुछ भी किसी सर्वर पर प्रेषित या संग्रहीत नहीं होता: private key आपके डिवाइस पर बनती है, एक बार दिखाई जाती है, और पृष्ठ छोड़ने पर छोड़ दी जाती है। यह इसे SSH-आसन्न टूलिंग, JWT signing, TLS प्रयोगों के लिए keys बनाने, या यह सीखने का एक सुरक्षित तरीक़ा बनाता है कि public-key प्रारूप एक साथ कैसे फ़िट होते हैं।

RSA के लिए आप मानक public exponent 65537 के साथ 2048, 3072, या 4096 बिट की modulus length चुनते हैं, और यह कि key signing (RSASSA-PKCS1-v1_5, SHA-256) या encryption (RSA-OAEP, SHA-256) के लिए है। elliptic-curve keys के लिए आप एक NIST curve — P-256, P-384, या P-521 — चुनते हैं, और यह कि यह signing (ECDSA) या key agreement (ECDH) के लिए है। बड़े RSA moduli और उच्चतर curves मज़बूत पर बनने में धीमे हैं; विशेष रूप से RSA-4096 ब्राउज़र में कुछ सेकंड ले सकती है।

एक्सपोर्ट WebCrypto के exportKey से किया जाता है: public key को SubjectPublicKeyInfo (SPKI) के रूप में और private key को PKCS#8 के रूप में, base64-एन्कोडेड और -----BEGIN PUBLIC KEY----- / -----BEGIN PRIVATE KEY----- फ़्रेम के भीतर प्रति पंक्ति 64 वर्ण पर लपेटा गया। इसके बजाय JSON Web Key प्रतिनिधित्व पाने के लिए फ़ॉर्मैट टॉगल को JWK पर बदलें। चूँकि generation स्थानीय और ऑफ़लाइन है, private key कभी अपलोड नहीं होती — टैब बंद करने से पहले इसे कहीं सुरक्षित कॉपी करें, क्योंकि इसके बाद इसे पुनर्प्राप्त नहीं किया जा सकता।

अक्सर पूछे जाने वाले प्रश्न

क्या private keys किसी सर्वर पर भेजी जाती हैं?
नहीं। Keys आपके ब्राउज़र के WebCrypto इंजन द्वारा स्थानीय रूप से बनती हैं और पृष्ठ में एक्सपोर्ट होती हैं। Private key कभी आपका डिवाइस नहीं छोड़ती और कहीं संग्रहीत नहीं होती, इसलिए टैब बंद करने से पहले इसे कहीं सुरक्षित कॉपी करें — इसके बाद इसे पुनर्प्राप्त नहीं किया जा सकता।
मुझे कौन-सा key आकार या curve चुनना चाहिए?
RSA-2048 आम आधार है; 3072 या 4096 धीमी generation और बड़ी keys की क़ीमत पर अधिक मार्जिन देते हैं। EC के लिए, P-256 तेज़ और व्यापक रूप से समर्थित है, जबकि P-384 और P-521 उच्च सुरक्षा स्तर देते हैं। तुलनीय मज़बूती के लिए EC keys RSA से बहुत छोटी होती हैं।
PEM और JWK आउटपुट में क्या अंतर है?
PEM base64 DER प्रारूप है जो BEGIN/END पंक्तियों में लपेटा गया है जिसकी अधिकांश सर्वर और OpenSSL अपेक्षा करते हैं — public key के लिए SPKI और private key के लिए PKCS#8। JWK JavaScript और JOSE/JWT लाइब्रेरियों द्वारा उपयोग की गई JSON Web Key ऑब्जेक्ट है। दोनों एक ही key pair का वर्णन करते हैं।
Signing बनाम encryption — क्या बदलता है?
यह उस एल्गोरिथ्म को चुनता है जिसके लिए key बनाई जाती है। RSA signing RSASSA-PKCS1-v1_5 उपयोग करता है और encryption RSA-OAEP; EC signing ECDSA उपयोग करता है और key agreement ECDH। एक उद्देश्य के लिए बनी key उस एल्गोरिथ्म से बँधी होती है, इसलिए इसके आधार पर चुनें कि आप इसे कैसे उपयोग करेंगे।

और टूल