JWK in PEM umwandeln und PEM in JWK
JWK in PEM umwandeln und zurück: RSA-, EC- und Ed25519-Schlüssel zwischen JSON Web Key und PEM (SPKI, PKCS#8, PKCS#1) wechseln, auch für ganze JWKS.
Alles läuft in Ihrem Browser, Eingaben werden nicht übertragen. Nur zum Lernen und Testen: Verwenden Sie für echte Geheimnisse und Produktivsysteme geprüfte Werkzeuge Ihrer Organisation.
JSON Web Key und PEM: SPKI, PKCS#8 und JWKS
Ein JSON Web Key (JWK, RFC 7517) beschreibt einen kryptografischen Schlüssel als JSON-Objekt, etwa mit kty, n und e für RSA oder kty, crv, x und y für elliptische Kurven. Viele Systeme erwarten aber PEM: OpenSSL, Nginx, Java, Python oder Node.js. Dieses Werkzeug wandelt JWK in PEM und PEM in JWK um. Öffentliche Schlüssel werden als SPKI (BEGIN PUBLIC KEY) ausgegeben, private als PKCS#8 (BEGIN PRIVATE KEY).
Erkannt werden RSA, EC (P-256, P-384, P-521), Ed25519 und X25519. Beim Weg von PEM zu JWK akzeptiert das Werkzeug auch PKCS#1 (BEGIN RSA PUBLIC KEY und BEGIN RSA PRIVATE KEY), SEC1 (BEGIN EC PRIVATE KEY) und Zertifikate (BEGIN CERTIFICATE), aus denen es den öffentlichen Schlüssel übernimmt. Eine JWKS-Datei mit „keys“ wird Schlüssel für Schlüssel umgewandelt. Optional ergänzt es eine kid als Thumbprint nach RFC 7638 sowie use und alg.
Grenzen: Verschlüsselte private Schlüssel (BEGIN ENCRYPTED PRIVATE KEY) und das OpenSSH-Format werden nicht gelesen; die Fehlermeldung nennt den passenden OpenSSL- oder ssh-keygen-Befehl. Symmetrische Schlüssel (kty oct) haben kein PEM-Format. Einen Blick in Zertifikate bietet der Zertifikat-Dekoder, neue Schlüssel erzeugt der ECDSA-Generator.
Anleitung: JWK in PEM in 4 Schritten
- Einen JWK, eine JWKS-Datei oder einen PEM-Schlüssel in das Eingabefeld einfügen oder ein Beispiel laden.
- Für den Weg von PEM zu JWK bei Bedarf use (sig oder enc) und alg ergänzen.
- Wählen, ob eine kid als RFC-7638-Thumbprint erzeugt, nur der öffentliche Schlüssel ausgegeben oder das Ergebnis als JWKS verpackt werden soll.
- Das Ergebnis im Feld „Ergebnis“ prüfen und kopieren.
Typische Anwendungsfälle
- JWT-Signaturen prüfen: Den öffentlichen Schlüssel aus der JWKS eines Identity-Providers als PEM für eine Bibliothek oder OpenSSL umwandeln.
- Eigenen JWKS-Endpunkt aufbauen: Einen PEM-Schlüssel in einen JWK mit kid umwandeln und als {"keys": […]} veröffentlichen.
- Konfiguration für Server: Einen EC- oder Ed25519-Schlüssel aus einem JSON-Format in PEM für Nginx, Java oder Node.js bringen.
- Zertifikat auswerten: Aus einem BEGIN CERTIFICATE den öffentlichen Schlüssel als JWK herausziehen.
Häufige Fragen
Was ist der Unterschied zwischen SPKI und PKCS#8?
SPKI (SubjectPublicKeyInfo) enthält einen öffentlichen Schlüssel samt Algorithmus und beginnt mit BEGIN PUBLIC KEY. PKCS#8 enthält einen privaten Schlüssel und beginnt mit BEGIN PRIVATE KEY. Beide Formate funktionieren für RSA, EC und Ed25519.
Wie bekomme ich aus einer JWKS-URL einen PEM-Schlüssel?
Öffnen Sie die JWKS-Adresse (oft /.well-known/jwks.json) im Browser, kopieren Sie das JSON und fügen Sie es hier ein. Jeder Schlüssel aus „keys“ wird einzeln als PEM ausgegeben, mit seiner kid als Überschrift.
Kann ich ein RSA-PKCS#1-PEM umwandeln?
Ja. BEGIN RSA PUBLIC KEY und BEGIN RSA PRIVATE KEY werden erkannt und intern in SPKI beziehungsweise PKCS#8 verpackt, bevor der JWK entsteht.
Warum fehlt alg im erzeugten JWK?
Ein PEM-Schlüssel sagt nichts darüber, mit welchem Algorithmus er verwendet wird; ein RSA-Schlüssel passt zu RS256, PS256 oder RSA-OAEP. Tragen Sie alg und use bei Bedarf selbst ein.
Ist es sicher, private Schlüssel hier einzufügen?
Die Umwandlung läuft nur in Ihrem Browser, es wird nichts gesendet oder gespeichert. Für Produktivschlüssel empfiehlt sich trotzdem OpenSSL auf dem eigenen Rechner oder die Schlüsselverwaltung Ihrer Organisation.
Kann OpenSSL PEM in JWK umwandeln?
Nein, OpenSSL kennt kein JWK-Format. Es wandelt nur zwischen PEM, DER und anderen klassischen Formaten, etwa mit openssl pkey -in privat.pem -pubout zum öffentlichen Schlüssel. Für JWK brauchen Sie eine Bibliothek oder dieses Werkzeug.
Was ist ein JWK-Thumbprint?
Ein Fingerabdruck nach RFC 7638: ein SHA-256-Hash über die Pflichtfelder des Schlüssels in fester Reihenfolge, kodiert als Base64URL. Er eignet sich als eindeutige kid, weil derselbe Schlüssel immer denselben Wert ergibt.
Das könnte auch helfen
Hash-Generator
MD5, SHA-1, SHA-256, SHA-384 und SHA-512 für Text oder Datei berechnen und vergleichen.
ÖffnenHMAC-Generator
HMAC mit SHA-256, SHA-512, SHA-1 oder MD5 berechnen und Webhook-Signaturen prüfen.
ÖffnenPasswort-Generator
Sichere Zufallspasswörter mit wählbarer Länge und Zeichengruppen, inklusive Entropie in Bit.
ÖffnenPasswort-Stärke prüfen
Passwort testen: Entropie, typische Muster, häufige Passwörter und grobe Knackzeit.
ÖffnenPassphrase-Generator
Merkbare Passphrasen aus einer deutschen Wortliste mit über 2.000 Wörtern, nach Diceware-Art.
ÖffnenToken-Generator
Zufalls-Token als Hex, Base64URL oder alphanumerisch erzeugen, etwa für API-Keys und Secrets.
Öffnen