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.
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.