JWK ⇄ PEM-Konverter
Web-PKI & Kryptographie

JWK zu PEM & PEM zu JWK Schlüsselkonverter (RSA & EC)

Konvertieren Sie RFC 7517 JSON Web Keys (JWK / JWKS) in PKCS#8 / SPKI PEM-Formate und transformieren Sie öffentliche sowie private PEM-Schlüssel in JWK-Strukturen.

100% clientseitige Privatsphäre
Null Serverübertragung
Vorlagen:
Schlüsseleingabe (JWK / JWKS / PEM)
-----BEGIN PUBLIC KEY-----
MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA0S1CTzIxxA0411a/i9zB
d5knsWNuaAykjSmrckqv7gH8SZgu7pRRUcYQvmsNSR80dSSmqI3fu/EJIaBSCIdw
tDr/ci1qeqRPHXz+52sCFy+DfZU16bLIH70UIVZAu5keLFpWuJ5cNpzxl7MqDGU4
RHWPMqfE4GVSnEzhZ6/+EWpCWqHnu6UVZ9qohjo63eUekTDJMbJjfYYt08JSIGOJ
HXUePxdqxjg7xOzqQ1q8BY249nzSgyvxYPwpGEPvLhxk4L9VrF9uy/v5uT/FG3NW
Fur2s/LaOjKvejvbpvb1nbBTljl/JT+j8cWWjs+5JBLJ0C/y9QRhQeUeR+UsY0HU
bwIDAQAB
-----END PUBLIC KEY-----
Schlüsselalgorithmus & Spezifikation
RSA • 2048-bit RSA
RFC 7638 Fingerabdruck
Derived SHA-256
Browser-Isolation
Zero-Server Web Crypto

100% Browser-isolierte Kryptografie

Keine Serverübertragungen oder Telemetrie. Private Schlüssel und sensible Schlüsselpaare verbleiben ausschließlich im lokalen Arbeitsspeicher.

Dualer RSA- & Elliptic-Curve-Prozessor

Vollständige Unterstützung für RSA (2048/4096-Bit), ECDSA (P-256, P-384, P-521), SPKI, PKCS#1 und PKCS#8.

Konform mit RFC 7517 & RFC 7638

Berechnet deterministische RFC 7638 SHA-256-Thumbprints und erzeugt standards-konforme JWKS-Sätze.

Technische Referenz & Architektur-Leitfaden

JWK zu PEM & PEM zu JWK Schlüsselkonverter (RSA & EC) — Referenz-Leitfaden

Konvertieren Sie RFC 7517 JSON Web Keys (JWK / JWKS) in PKCS#8 / SPKI PEM-Formate und transformieren Sie öffentliche sowie private PEM-Schlüssel in JWK-Strukturen.

Wichtige Parameter & Steuerelemente

ktystring ('RSA' | 'EC' | 'OKP')

Identifikator der kryptografischen Algorithmenfamilie gemäß RFC 7517 Abschnitt 4.1.

Standard: RSA
crvstring ('P-256' | 'P-384' | 'P-521' | 'secp256k1' | 'Ed25519')

Erforderlicher Kurvenparameter für Elliptische Kurven und OKP-Schlüssel gemäß RFC 7518 Abschnitt 6.2.

Standard: P-256
formatstring ('SPKI' | 'PKCS#8' | 'PKCS#1' | 'SEC1')

ASN.1-DER-Zielformat, umschlossen von standardisierten PEM-Begrenzungsheadern.

Standard: SPKI / PKCS#8
usestring ('sig' | 'enc')

Verwendungszweck des öffentlichen Schlüssels: Signaturprüfung ('sig') oder Verschlüsselung ('enc').

Standard: sig
kidstring

Eindeutige Schlüsselkennung (Key Identifier) zum Abgleich im JWT-Header bei OIDC/OAuth 2.0 JWKS-Endpunkten.

Standard: optional UUID/Hash

Profi-Tipps & Best Practices

SPKI vs. PKCS#1 PEM-Header

Moderne Web-Crypto-APIs, OpenSSL 3.0 und Cloud-Identity-Plattformen erfordern das SubjectPublicKeyInfo-Format (SPKI, '-----BEGIN PUBLIC KEY-----'). Veraltete PKCS#1-Header ('-----BEGIN RSA PUBLIC KEY-----') sollten vor dem Import in JWK in SPKI umgewandelt werden.

Strikte Base64URL-Konformität

RFC 7517 schreibt Base64URL-Codierung ohne '='-Padding vor, wobei '+' durch '-' und '/' durch '_' ersetzt werden. Entfernen Sie abschließende '='-Zeichen bei manuellen Änderungen, um Parsing-Fehler in Bibliotheken wie jose zu vermeiden.

Batch-Extraktion aus JWKS-Endpunkten

Beim Abfragen von OpenID-Connect-Endpunkten (Auth0, Okta, Keycloak, AWS Cognito) filtern Sie das 'keys'-Array anhand des JWT-Headers 'kid', um exakt den benötigten Verifizierungsschlüssel in PEM zu konvertieren.

Exportieren Sie private Schlüssel

Exportieren Sie private Schlüssel stets im unverschlüsselten PKCS#8-Format ('-----BEGIN PRIVATE KEY-----'), um eine nahtlose Interoperabilität mit Node.js crypto, Go crypto/x509 und Python cryptography zu gewährleisten.

Häufige Fallstricke & Fehlerbehebung

Fehler: Nicht unterstützter Schlüsseltyp oder unbekannter PEM-Header

Stellen Sie sicher, dass Ihr PEM mit anerkannten Kopfzeilen wie '-----BEGIN PUBLIC KEY-----' (SPKI) oder '-----BEGIN PRIVATE KEY-----' (PKCS#8) beginnt. Prüfen Sie auf unerwünschte Steuerzeichen oder Windows-Zeilenumbrüche.

Signaturvalidierung schlägt fehl nach JWK-Import (RS256 / ES256)

Überprüfen Sie, ob der Kurvenparameter ('crv') zum Signaturalgorithmus passt (z. B. ES256 erfordert P-256). Stellen Sie sicher, dass Koordinaten ('x', 'y') oder Modulus ('n') mit führenden Nullen auf die genaue Bytelänge aufgefüllt sind.

Fehler beim Parsen von verschlüsselten PEM-Schlüsseln

Verschlüsselte Schlüssel mit '-----BEGIN ENCRYPTED PRIVATE KEY-----' erfordern ein Passwort. Entschlüsseln Sie den Schlüssel vorher mit OpenSSL ('openssl pkcs8 -topk8 -nocrypt -in enc.pem -out dec.pem'), bevor Sie ihn in JWK konvertieren.

Häufig gestellte Fragen (FAQ)

Was ist der wesentliche Unterschied zwischen JWK und PEM?▼

JWK (RFC 7517) stellt kryptografische Schlüssel als JSON-Objekte mit Base64URL-Parametern dar, ideal für HTTP-Web-APIs und JWT-Tokens. PEM (RFC 7468) kapselt binäre ASN.1-DER-Strukturen in Base64-Textblöcken und ist der Standard für TLS-Zertifikate und OpenSSL.

Können komplette JWKS-Schlüsselsätze von Auth0 oder Google konvertiert werden?▼

Ja. Fügen Sie das gesamte JWKS-JSON mit dem 'keys'-Array ein. Das Tool verarbeitet jeden Schlüssel und generiert die entsprechenden SPKI-PEM-Dateien unter Beibehaltung der Key-IDs.

Ist die Konvertierung privater Schlüssel im Browser sicher?▼

Ja, zu 100%. Sämtliche Berechnungen, ASN.1-Serialisierungen und Web-Crypto-Operationen finden ausschließlich lokal im Speicher Ihres Browsers statt. Es werden keinerlei Schlüsseldaten über das Netzwerk übertragen.

Welche elliptischen Kurven und RSA-Schlüssellängen werden unterstützt?▼

Unterstützt werden NIST-Kurven (P-256, P-384, P-521), secp256k1, Ed25519 sowie RSA-Schlüsselgrößen von 1024, 2048, 3072 und 4096 Bit für öffentliche und private Konvertierungen.

Warum fehlt der Parameter 'd' bei der Umwandlung eines öffentlichen PEM-Schlüssels?▼

Öffentliche PEM-Schlüssel (SPKI) beinhalten lediglich öffentliche Parameter ('n' und 'e' für RSA; 'x' und 'y' für EC). Der Parameter 'd' repräsentiert den geheimen privaten Exponenten und wird nur bei privaten Schlüsseln (PKCS#8/PKCS#1) erzeugt.

Verwandte Werkzeuge & Dienstprogramme

Alle Werkzeuge →