Einen JSON Web Key in PEM umwandeln und zurück, für RSA-, EC- und Ed25519-Schlüssel, mit Thumbprint
Läuft in Ihrem Browser. Nichts, was Sie eingeben, wird irgendwohin gesendet. Geprüft am 16. Oktober 2026.Ein JWK ist ein als JSON geschriebener Schlüssel, wie ihn JWTs, OAuth und OpenID Connect verwenden; PEM ist die Base64-Textform, die OpenSSL und Server nutzen. Fügen Sie eines von beiden ein, und es wird in das andere umgewandelt, für RSA-, EC- (P-256, P-384, P-521, secp256k1) und Ed25519-Schlüssel, mit dem Thumbprint nach RFC 7638, vollständig in Ihrem Browser.
Diese Seite wurde maschinell aus dem englischen Original übersetzt. Die Übersetzung wurde noch von keinem Menschen geprüft; maßgeblich ist die englische Fassung. Englisches Original lesen
Fügen Sie den JWK, ein JWK Set von einem jwks.json-Endpunkt oder einen PEM-Schlüssel bzw. ein Zertifikat ein.
Die Richtung wird erkannt: Ein JWK wird zu PEM, ein PEM wird zu einem JWK.
Wählen Sie das PEM-Format, etwa PKCS#8 oder PKCS#1, oder setzen Sie das Häkchen bei Nur öffentlicher Schlüssel, um den privaten Teil zu entfernen.
Klicken Sie auf Kopieren oder Herunterladen; der Thumbprint nach RFC 7638 wird für jeden Schlüssel angezeigt.
JSON Web Keys und PEM-Dateien enthalten dieselben Zahlen in zwei Verpackungen. Ein JWK benennt jeden Teil, etwa den Modulus "n" und den Exponenten "e" eines RSA-Schlüssels oder den Punkt "x" und "y" eines EC-Schlüssels, in Base64url. Eine PEM-Datei enthält dieselben Werte in DER, dem Binärformat von X.509 und OpenSSL, zwischen BEGIN- und END-Zeilen.
Was umgewandelt wird.
| Schlüssel | JWK zu PEM | PEM zu JWK |
|---|---|---|
| RSA öffentlich | SPKI oder PKCS#1 | PUBLIC KEY, RSA PUBLIC KEY, Zertifikat |
| RSA privat | PKCS#8 oder PKCS#1 | PRIVATE KEY, RSA PRIVATE KEY |
| EC P-256, P-384, P-521, secp256k1 | SPKI; PKCS#8 oder SEC1 | PUBLIC KEY, PRIVATE KEY, EC PRIVATE KEY |
| Ed25519, Ed448, X25519, X448 | SPKI; PKCS#8 | PUBLIC KEY, PRIVATE KEY |
Ein JWK Set mit mehreren Schlüsseln wird zu mehreren PEM-Blöcken, und mehrere PEM-Blöcke werden zu einem JWK Set. Zertifikate und Zertifikatsanforderungen liefern ihren öffentlichen Schlüssel.
Formate. SPKI ("PUBLIC KEY") und PKCS#8 ("PRIVATE KEY") funktionieren für jeden Schlüsseltyp und sind das, was die meisten Bibliotheken erwarten. PKCS#1 ("RSA PUBLIC KEY", "RSA PRIVATE KEY") ist die ältere, nur für RSA geltende Form; SEC1 ("EC PRIVATE KEY") ist die ältere EC-Form von OpenSSL.
Thumbprint. Für jeden Schlüssel wird der Thumbprint nach RFC 7638 angezeigt: der SHA-256-Wert seiner Pflichtfelder in fester Reihenfolge, den viele Anbieter als "kid" verwenden. Setzen Sie das Häkchen bei kid hinzufügen, um ihn in den JWK einzutragen.
Private Schlüssel. Setzen Sie das Häkchen bei Nur öffentlicher Schlüssel, um die privaten Felder vor der Veröffentlichung zu entfernen. Enthält ein privater Schlüssel seinen öffentlichen Teil nicht, wird dieser mit dem WebCrypto des Browsers berechnet. Passwortgeschützte PEM-Dateien müssen zuerst entschlüsselt werden.
Die Ausgabe wurde für jeden unterstützten Schlüsseltyp Byte für Byte mit Node.js und OpenSSL verglichen, ebenso mit den Beispielen in RFC 7517 und RFC 7638. Schlüssel werden nie irgendwohin gesendet, und nichts, was Sie einfügen, wird gespeichert.
Fügen Sie den JWK in das Feld ein, und das PEM erscheint sofort: ein PUBLIC KEY-Block für einen öffentlichen Schlüssel, ein PRIVATE KEY-Block für einen privaten. Bei RSA-Schlüsseln können Sie zur älteren PKCS#1-Form wechseln, bei privaten EC-Schlüsseln zu SEC1. Ein JWK Set mit mehreren Schlüsseln ergibt einen PEM-Block pro Schlüssel.
Öffnen Sie die jwks.json-Adresse des Anbieters im Browser, kopieren Sie das ganze JSON und fügen Sie es hier ein. Jeder Schlüssel in der keys-Liste wird zu einem öffentlichen PEM-Schlüssel, beschriftet mit Typ, Größe und Thumbprint, sodass Sie ihn mit dem kid im Header des zu prüfenden Tokens abgleichen können.
Beide enthalten einen RSA-Schlüssel. PKCS#1, beschriftet mit RSA PRIVATE KEY oder RSA PUBLIC KEY, enthält nur RSA-Zahlen. PKCS#8, beschriftet mit PRIVATE KEY, verpackt jeden Schlüsseltyp mit einer Algorithmuskennung, so wie SPKI es für öffentliche Schlüssel tut. Die meisten modernen Bibliotheken, darunter Java und Node.js, erwarten PKCS#8 und SPKI.
Eine kurze, aus dem Schlüssel selbst berechnete Kennung, definiert in RFC 7638: Die Pflichtfelder, etwa e, kty und n bei RSA, werden als JSON in alphabetischer Reihenfolge ohne Leerzeichen geschrieben und mit SHA-256 gehasht. Derselbe Schlüssel erhält immer denselben Thumbprint, daher eignet er sich gut als kid.
Die Umwandlung läuft vollständig in Ihrem Browser; der Schlüssel wird weder hochgeladen noch protokolliert oder gespeichert, und die Seite funktioniert nach dem Laden auch offline. Gehen Sie dennoch mit jedem privaten Schlüssel sorgfältig um und wandeln Sie bevorzugt Testschlüssel um. Setzen Sie beim Veröffentlichen das Häkchen bei Nur öffentlicher Schlüssel, damit die privaten Felder nie in der Ausgabe erscheinen.
Ein JWK für einen privaten Ed448- oder X448-Schlüssel muss den öffentlichen Schlüssel enthalten, und OpenSSL schreibt diese PEM-Dateien meist ohne ihn. Ihn zu berechnen erfordert Ed448-Mathematik, die Browser nicht bereitstellen. Exportieren Sie den Schlüssel mit seinem öffentlichen Teil oder wandeln Sie den öffentlichen Schlüssel separat um.
Sätze und Regeln ändern sich; prüfen Sie die Quelle, bevor Sie sich auf eine Zahl verlassen.
Kommen Sie nicht weiter? Fragen Sie zu JWK-zu-PEM-Konverter und jeder, der es weiß, kann antworten. Kein Konto nötig.