UTILS.
100 % im Browser
🗝️

RSA-/EC-Schlüsselpaar-Generator (PEM-Export)

Erzeuge ein RSA- oder EC-Schlüsselpaar in deinem Browser mit WebCrypto und exportiere den öffentlichen und privaten Schlüssel als PEM oder JWK. Schlüssel verlassen dein Gerät nie.

Schlüssel werden lokal in deinem Browser erzeugt — der private Schlüssel wird nie hochgeladen.

— Ausgabe erscheint hier —
— Ausgabe erscheint hier —

Über dieses Tool

Der RSA-/EC-Schlüsselpaar-Generator erstellt ein asymmetrisches Schlüsselpaar vollständig in deinem Browser über die native WebCrypto-API (crypto.subtle.generateKey) und exportiert es dann in den Formaten, die du tatsächlich in Konfigurationsdateien und Code einfügst. Nichts wird übertragen oder auf einem Server gespeichert: Der private Schlüssel wird auf deinem Gerät erzeugt, einmal angezeigt und verworfen, wenn du die Seite verlässt. Das macht es zu einer sicheren Möglichkeit, Schlüssel für SSH-nahe Werkzeuge, JWT-Signierung, TLS-Experimente oder zum Verständnis, wie Public-Key-Formate zusammenpassen, zu erzeugen.

Für RSA wählst du eine Modulus-Länge von 2048, 3072 oder 4096 Bit mit dem Standard-Public-Exponent 65537 und ob der Schlüssel zum Signieren (RSASSA-PKCS1-v1_5, SHA-256) oder Verschlüsseln (RSA-OAEP, SHA-256) dient. Für Elliptische-Kurven-Schlüssel wählst du eine NIST-Kurve — P-256, P-384 oder P-521 — und ob sie zum Signieren (ECDSA) oder Schlüsselaustausch (ECDH) dient. Größere RSA-Moduli und höhere Kurven sind stärker, aber langsamer zu erzeugen; besonders RSA-4096 kann im Browser einige Sekunden dauern.

Der Export erfolgt mit WebCryptos exportKey: der öffentliche Schlüssel als SubjectPublicKeyInfo (SPKI) und der private Schlüssel als PKCS#8, base64-kodiert und auf 64 Zeichen pro Zeile umgebrochen innerhalb der -----BEGIN PUBLIC KEY----- / -----BEGIN PRIVATE KEY------Rahmen. Schalte den Format-Umschalter auf JWK, um stattdessen die JSON-Web-Key-Darstellung zu erhalten. Da die Erzeugung lokal und offline erfolgt, wird der private Schlüssel nie hochgeladen — kopiere ihn an einen sicheren Ort, bevor du den Tab schließt, da er danach nicht wiederhergestellt werden kann.

Häufig gestellte Fragen

Werden die privaten Schlüssel an einen Server gesendet?
Nein. Schlüssel werden lokal von der WebCrypto-Engine deines Browsers erzeugt und auf der Seite exportiert. Der private Schlüssel verlässt dein Gerät nie und wird nirgends gespeichert, also kopiere ihn an einen sicheren Ort, bevor du den Tab schließt — er kann danach nicht wiederhergestellt werden.
Welche Schlüsselgröße oder Kurve sollte ich wählen?
RSA-2048 ist die gängige Basislinie; 3072 oder 4096 bieten mehr Reserve auf Kosten langsamerer Erzeugung und größerer Schlüssel. Für EC ist P-256 schnell und weit verbreitet, während P-384 und P-521 höhere Sicherheitsstufen bieten. EC-Schlüssel sind bei vergleichbarer Stärke viel kleiner als RSA.
Was ist der Unterschied zwischen der PEM- und der JWK-Ausgabe?
PEM ist das base64-DER-Format, umgeben von BEGIN/END-Zeilen, das die meisten Server und OpenSSL erwarten — SPKI für den öffentlichen Schlüssel und PKCS#8 für den privaten Schlüssel. JWK ist das JSON-Web-Key-Objekt, das von JavaScript und JOSE-/JWT-Bibliotheken verwendet wird. Beide beschreiben dasselbe Schlüsselpaar.
Signieren versus Verschlüsseln — was ändert sich?
Es wählt den Algorithmus, für den der Schlüssel erstellt wird. RSA-Signierung nutzt RSASSA-PKCS1-v1_5 und Verschlüsselung nutzt RSA-OAEP; EC-Signierung nutzt ECDSA und Schlüsselaustausch nutzt ECDH. Ein für einen Zweck erzeugter Schlüssel ist an diesen Algorithmus gebunden, also wähle danach, wie du ihn verwenden wirst.

Weitere Tools