0

JWK ⇄ PEM कुंजी कनवर्टर

वास्तविक वेब क्रिप्टो एपीआई, डीकोड एल्गोरिदम/वक्र/आकार का उपयोग करके जेडब्ल्यूके और पीईएम प्रारूप के बीच क्रिप्टोग्राफ़िक कुंजी परिवर्तित करें, और आरएफसी 7638 जेडब्ल्यूके थंबप्रिंट की गणना करें।

Buy Me a Coffee at ko-fi.com
प्रसंस्करण... 0%
पार्सिंग कुंजी
परिवर्तित स्वरूप
अंगूठाछाप कंप्यूटिंग
हो गया

नतीजा

JSON वेब कुंजियाँ (JWK) और PEM-एन्कोडेड कुंजियाँ JWT लाइब्रेरीज़, TLS टूलींग और OAuth/OIDC कॉन्फ़िगरेशन में परस्पर विनिमय करती हैं, लेकिन दोनों के बीच हाथ से कनवर्ट करने का मतलब बेस 64-डिकोडिंग DER संरचनाओं या JSON को पुन: स्वरूपित करना है - सूक्ष्मता से गलत होना आसान है। यह टूल टेक्स्ट हेरफेर के बजाय ब्राउज़र के वास्तविक वेब क्रिप्टो एपीआई के साथ रूपांतरण करता है: एक चिपकाया गया PEM ब्लॉक क्रिप्टो.सुबटल.इम्पोर्टकी ('spki' | 'pkcs8', ...) के साथ आयात किया जाता है और निर्यातकी ('jwk', ...) के साथ JWK के रूप में पुनः निर्यात किया जाता है; चिपकाया गया JWK आयातKey('jwk', ...) के साथ आयात किया जाता है और SPKI या PKCS8 DER के रूप में पुनः निर्यात किया जाता है, फिर सही PEM हेडर में लपेटा जाता है। क्योंकि ब्राउज़र स्वयं मुख्य सामग्री को सत्यापित और डिकोड करता है, एक विकृत कुंजी या बेमेल एल्गोरिदम चयन चुपचाप कचरा उत्पन्न करने के बजाय जोर से विफल हो जाता है।

समर्थित एल्गोरिदम RSA (RSASSA-PKCS1-v1_5), P-256/P-384/P-521 वक्रों पर EC हैं, और - जहां ब्राउज़र उन्हें लागू करता है - Ed25519 और X25519। वेब क्रिप्टो में Ed25519/X25519 के लिए ब्राउज़र समर्थन अभी भी सभी इंजनों में असंगत है, इसलिए उपयोगकर्ता एजेंट स्ट्रिंग से अनुमान लगाने के बजाय, टूल चयनित वक्र के लिए एक वास्तविक क्रिप्टो.subtle.generateKey() जांच चलाता है और मनगढ़ंत परिणाम देने के बजाय आपको स्पष्ट रूप से बताता है कि क्या यह यहां समर्थित नहीं है।

प्रत्येक रूपांतरण कुंजी के वास्तविक मेटाडेटा को भी डीकोड करता है: आरएसए कुंजी के लिए, क्रिप्टोकी ऑब्जेक्ट से सीधे मॉड्यूलस बिट लंबाई और हैश एल्गोरिदम; EC और OKP कुंजियों के लिए, नामित वक्र; और प्रत्येक कुंजी के लिए, RFC 7638 JWK थंबप्रिंट - JWK के आवश्यक सदस्यों का एक SHA-256 हैश सख्त शब्दकोषीय क्रम में क्रमबद्ध (RSA के लिए e/kty/n, EC के लिए crv/kty/x/y, OKP/Ed25519/X25519 के लिए crv/kty/x)। यह थंबप्रिंट वह है जिसे कई सिस्टम कुंजी के "बच्चे" पहचानकर्ता के रूप में उपयोग करते हैं, और सदस्य ऑर्डर गलत होने से पूरी तरह से एक अलग हैश उत्पन्न होता है, जो बिल्कुल उसी प्रकार की गलती है जो हाथ से रोल किए गए कार्यान्वयन में होती है।

क्योंकि सब कुछ आपके अपने ब्राउज़र टैब में क्रिप्टो.सूक्ष्म के माध्यम से चलता है, निजी कुंजी सामग्री आपके डिवाइस को कभी नहीं छोड़ती है - कोई सर्वर नहीं है, कोई अपलोड नहीं है, और रूपांतरण में किसी भी बिंदु पर कोई बाहरी एपीआई कॉल शामिल नहीं है।