RSA-Schlüsselgenerator
Erzeuge ein neues RSA-Schlüsselpaar mit einem Modulus von 2048 oder 3072 Bit und dem öffentlichen Exponenten 65537. Du erhältst den privaten Schlüssel als unverschlüsseltes PKCS #8 PEM, den öffentlichen Schlüssel als SPKI PEM, die passende OpenSSH-Zeile ssh-rsa mit ihrem SHA-256-Fingerprint, die RS- und PS-Algorithmen, mit denen er signiert, und den JWK-Thumbprint nach RFC 7638, den du als Schlüssel-ID verwenden kannst. Jedes Schlüsselpaar wird für diese Anfrage mit dem Crypto-Modul von Node erstellt und niemals gespeichert.
Häufig gestellte Fragen
2048 oder 3072 Bit wählen?
2048-Bit-RSA ist weiterhin das übliche Minimum und wird überall akzeptiert, auch von JWT-Bibliotheken, die kleinere Schlüssel ablehnen. 3072 Bit entsprechen der 128-Bit-Sicherheitsstufe, die NIST SP 800-57 für die Zeit nach 2030 empfiehlt – auf Kosten größerer Signaturen und langsamerer Signierung. Größere Größen wie 4096 Bit werden nicht angeboten, da ihre Erzeugungszeit auf einem gemeinsam genutzten Server unvorhersehbar ist.
Welche Formate verwendet das Ergebnis?
Der private Schlüssel ist als PEM codiertes PKCS #8 (BEGIN PRIVATE KEY) und der öffentliche Schlüssel als PEM codiertes SubjectPublicKeyInfo (BEGIN PUBLIC KEY) formatiert. Beide lassen sich mit OpenSSL, Java, .NET, Go, Node, jose und den meisten anderen Bibliotheken lesen. Für authorized_keys-Dateien wird die öffentliche OpenSSH-Schlüsselzeile ergänzt.
Ist der private Schlüssel verschlüsselt?
Nein, der private Schlüssel wird ohne Passphrase zurückgegeben, damit du ihn direkt in andere Werkzeuge einfügen kannst. Um ihn im Ruhezustand zu schützen, führe openssl pkey -in key.pem -aes256 -out key-encrypted.pem aus und bewahre nur die verschlüsselte Datei auf. Halte die unverschlüsselte Kopie aus der Versionsverwaltung heraus.
Wie erhalte ich das PKCS #1-Format (BEGIN RSA PRIVATE KEY)?
Manche ältere Software erwartet die traditionelle PKCS #1-Form. Führe mit OpenSSL 3 openssl pkey -in key.pem -traditional -out key-rsa.pem aus, um die PKCS #8-Datei umzuwandeln. Das Schlüsselmaterial bleibt gleich, nur die Einbettung ändert sich.
Kann ich den Schlüssel für SSH verwenden?
Ja. Füge die ssh-rsa-Zeile auf dem Server in ~/.ssh/authorized_keys ein und speichere den privaten PEM-Schlüssel mit den Berechtigungen 600 als Identitätsdatei, da OpenSSH PEM-codierte RSA-Schlüssel liest. Viele Server bevorzugen inzwischen Ed25519-Schlüssel, die der Ed25519-Schlüsselgenerator erstellt.
Was ist der JWK-Thumbprint?
Das ist der RFC 7638 SHA-256-Hash der erforderlichen JWK-Member des öffentlichen Schlüssels, codiert in Base64url. Er identifiziert den Schlüssel unabhängig von seinem Format und eignet sich daher als kid-Wert für JWTs und JWKS-Dokumente. Der JWK-Konverter zeigt denselben Wert für diesen Schlüssel an.
Welche JWT-Algorithmen kann dieser Schlüssel zum Signieren verwenden?
Ein RSA-Schlüssel kann RS256, RS384 und RS512 (PKCS #1 v1.5) sowie PS256, PS384 und PS512 (RSA-PSS) signieren. Verwende den privaten PEM-Schlüssel mit dem JWT-Generator und gib Prüfprogrammen den öffentlichen PEM-Schlüssel oder dessen JWK. Der Algorithmus ist eine Eigenschaft der Signatur, daher kann ein Schlüssel für mehrere davon verwendet werden.
Wird der generierte Schlüssel irgendwo gespeichert?
Nein. Das Schlüsselpaar wird für deine Anfrage im Arbeitsspeicher erstellt, einmalig im Ergebnis zurückgegeben und niemals protokolliert oder gespeichert. Wenn du es verlierst, generiere ein neues Paar, denn niemand kann es für dich wiederherstellen.
Was bewirkt die Kommentaroption?
Der Kommentar wird an die öffentliche OpenSSH-Schlüsselzeile angehängt, typischerweise user@host oder eine Bezeichnung wie deploy-2026, damit du den Schlüssel in authorized_keys wiedererkennst. Er ändert weder den Schlüssel noch seine Fingerprints. Kommentare dürfen höchstens 200 Zeichen lang sein und Leerraum wird zu einzelnen Leerzeichen zusammengefasst.
Wie zufällig sind die Schlüssel?
Die Primzahlen stammen über OpenSSL aus dem kryptografisch sicheren Zufallszahlengenerator des Betriebssystems, derselben Quelle, die Server für ihre eigenen Schlüssel verwenden. Jede Anfrage erzeugt ein neues, unabhängiges Schlüsselpaar. Der öffentliche Exponent ist immer 65537, der Standardwert.