Ga naar de inhoud

EC-sleutelgenerator

Genereer een elliptisch-curve-sleutelpaar op P-256, P-384 of P-521 voor ES256-, ES384- of ES512-handtekeningen, ECDH en TLS-certificaten. Het resultaat bevat de privésleutel als niet-versleutelde PKCS #8 PEM, de publieke sleutel als SPKI PEM, een OpenSSH ecdsa-sha2-regel voor de publieke sleutel met de SHA-256-vingerafdruk en de RFC 7638 JWK-vingerafdruk. Elk sleutelpaar wordt vers aangemaakt met de crypto-module van Node en wordt nooit opgeslagen.

Resetten

Veelgestelde vragen

Welke curve moet ik kiezen?

P-256 (ook bekend als prime256v1 of secp256r1) is de meest breed ondersteunde curve en biedt ongeveer 128 bits beveiliging. P-384 biedt ongeveer 192 bits en is vereist door sommige overheidsprofielen, zoals CNSA. P-521 is de grootste NIST-curve en wordt minder vaak ondersteund. Kies deze dus alleen als een systeem erom vraagt.

Welk JWT-algoritme hoort bij elke curve?

P-256-sleutels ondertekenen met ES256, P-384-sleutels met ES384 en P-521-sleutels met ES512. JOSE koppelt elk algoritme aan precies één curve, dus de JWT-generator weigert een sleutel op de verkeerde curve. Het resultaat vermeldt het bij uw sleutel passende algoritme.

Welke indelingen worden teruggegeven?

De privésleutel is gecodeerd als PEM PKCS #8 (BEGIN PRIVATE KEY) en de publieke sleutel als PEM SubjectPublicKeyInfo (BEGIN PUBLIC KEY) met de benoemde curve. U krijgt ook de regel ecdsa-sha2-nistp256, nistp384 of nistp521 die OpenSSH verwacht in authorized_keys.

Hoe krijg ik de SEC1-indeling (BEGIN EC PRIVATE KEY)?

Sommige tools vereisen nog steeds de oudere SEC1-codering. Voer met OpenSSL 3 openssl pkey -in key.pem -traditional -out key-ec.pem uit, of openssl ec -in key.pem -out key-ec.pem. De sleutel zelf blijft hetzelfde.

Kan ik met deze sleutel een certificaatondertekeningsverzoek maken?

Ja. Sla de privésleutel op als PEM en voer openssl req -new -key key.pem -subj "/CN=example.com" -out request.csr uit. Controleer het verzoek daarna met de CSR-decoder. Certificaatautoriteiten accepteren P-256- en P-384-sleutels voor TLS-certificaten.

Waarom zijn EC-sleutels kleiner dan RSA-sleutels?

Elliptische-curvecryptografie biedt dezelfde beveiliging met veel kortere sleutels, dus een P-256-sleutel is vergelijkbaar met RSA van 3072 bits. Handtekeningen zijn korter en ondertekenen gaat sneller. De publieke sleutel is 65 bytes groot bij P-256.

Is de privésleutel beveiligd met een wachtwoordzin?

Nee, de sleutel wordt niet-versleuteld teruggegeven, zodat andere tools deze direct kunnen lezen. Versleutel de sleutel voor opslag met openssl pkey -in key.pem -aes256 -out key-encrypted.pem. Commit nooit een niet-versleutelde privésleutel naar een repository.

Waarvoor wordt de JWK-vingerafdruk gebruikt?

De RFC 7638-vingerafdruk is een base64url SHA-256-hash van de crv-, kty-, x- en y-leden van de sleutel. Het is een stabiele identificatie van de sleutel die niet afhankelijk is van de PEM- of JWK-indeling en goed werkt als kid in JWT-headers en JWKS-documenten.

Wordt het sleutelpaar opgeslagen?

Nee. Het sleutelpaar wordt voor uw verzoek in het geheugen gegenereerd, eenmalig teruggegeven en nooit gelogd of opgeslagen. Kopieer beide sleutels voordat u de pagina verlaat, want ze kunnen daarna niet opnieuw worden weergegeven.

Wat verandert het opmerkingenveld?

Het voegt alleen een label toe aan het einde van de OpenSSH-regel voor de publieke sleutel, zoals user@laptop, zodat de sleutel in authorized_keys makkelijk herkenbaar is. Vingerafdrukken en sleutelgegevens blijven hetzelfde. De opmerking mag maximaal 200 tekens bevatten.

Over OneClick Pro

OneClick Pro is een gratis verzameling van meer dan 150 webtools voor dagelijks werk: afbeeldingen en eenheden converteren, code opmaken en valideren, domeinen en SEO controleren, en werken met tekst, datums en getallen. Elke tool werkt zonder registratie of abonnement. Wat u invoert, wordt alleen gebruikt om uw resultaat te berekenen en wordt nooit opgeslagen. Gebruik de verzameling als snelle gereedschapskist voor eenmalige taken of maak een bladwijzer van de tools die u dagelijks gebruikt.