UTILS.
100% in de browser
🗝️

RSA-/EC-sleutelpaargenerator (PEM-export)

Genereer een RSA- of EC-sleutelpaar in je browser met WebCrypto en exporteer de publieke en private sleutels als PEM of JWK. Sleutels verlaten nooit je apparaat.

Sleutels worden lokaal in je browser gegenereerd — de private sleutel wordt nooit geüpload.

— uitvoer verschijnt hier —
— uitvoer verschijnt hier —

Over deze tool

De RSA-/EC-sleutelpaargenerator maakt een asymmetrisch sleutelpaar volledig in je browser met de native WebCrypto API (crypto.subtle.generateKey), en exporteert het vervolgens in de formaten die je daadwerkelijk in configuratiebestanden en code plakt. Er wordt niets verzonden of op een server opgeslagen: de private sleutel wordt op je apparaat gegenereerd, één keer getoond, en weggegooid wanneer je de pagina verlaat. Dit maakt het een veilige manier om sleutels aan te maken voor SSH-verwante tooling, JWT-ondertekening, TLS-experimenten, of het leren hoe publieke-sleutelformaten in elkaar passen.

Voor RSA kies je een moduluslengte van 2048, 3072 of 4096 bits met de standaard publieke exponent 65537, en of de sleutel voor ondertekening (RSASSA-PKCS1-v1_5, SHA-256) of encryptie (RSA-OAEP, SHA-256) is. Voor elliptische-krommesleutels kies je een NIST-kromme — P-256, P-384 of P-521 — en of die voor ondertekening (ECDSA) of sleutelovereenkomst (ECDH) is. Grotere RSA-moduli en hogere krommen zijn sterker maar trager te genereren; RSA-4096 in het bijzonder kan enkele seconden in de browser duren.

Export gebeurt met WebCrypto's exportKey: de publieke sleutel als SubjectPublicKeyInfo (SPKI) en de private sleutel als PKCS#8, base64-gecodeerd en omgebroken op 64 tekens per regel binnen -----BEGIN PUBLIC KEY----- / -----BEGIN PRIVATE KEY------kaders. Zet de formaatschakelaar op JWK om in plaats daarvan de JSON Web Key-weergave te krijgen. Omdat generatie lokaal en offline is, wordt de private sleutel nooit geüpload — kopieer hem ergens veilig voordat je het tabblad sluit, want hij kan daarna niet worden hersteld.

Veelgestelde vragen

Worden de private sleutels naar een server gestuurd?
Nee. Sleutels worden lokaal gegenereerd door de WebCrypto-engine van je browser en op de pagina geëxporteerd. De private sleutel verlaat nooit je apparaat en wordt nergens opgeslagen, dus kopieer hem ergens veilig voordat je het tabblad sluit — hij kan daarna niet worden hersteld.
Welke sleutelgrootte of kromme moet ik kiezen?
RSA-2048 is de gangbare basislijn; 3072 of 4096 geven meer marge ten koste van tragere generatie en grotere sleutels. Voor EC is P-256 snel en breed ondersteund, terwijl P-384 en P-521 hogere beveiligingsniveaus bieden. EC-sleutels zijn veel kleiner dan RSA voor vergelijkbare sterkte.
Wat is het verschil tussen de PEM- en JWK-uitvoer?
PEM is het base64-DER-formaat omgebroken in BEGIN/END-regels dat de meeste servers en OpenSSL verwachten — SPKI voor de publieke sleutel en PKCS#8 voor de private sleutel. JWK is het JSON Web Key-object dat door JavaScript- en JOSE/JWT-bibliotheken wordt gebruikt. Beide beschrijven hetzelfde sleutelpaar.
Ondertekening versus encryptie — wat verandert er?
Het selecteert het algoritme waarvoor de sleutel wordt gemaakt. RSA-ondertekening gebruikt RSASSA-PKCS1-v1_5 en encryptie gebruikt RSA-OAEP; EC-ondertekening gebruikt ECDSA en sleutelovereenkomst gebruikt ECDH. Een sleutel die voor één doel is gegenereerd, is aan dat algoritme gebonden, dus kies op basis van hoe je hem gaat gebruiken.

Meer tools