Generator ključev EC
Ustvarite par ključev eliptične krivulje na P-256, P-384 ali P-521 za podpise ES256, ES384 ali ES512, ECDH in potrdila TLS. Rezultat vsebuje zasebni ključ kot nešifriran PKCS #8 PEM, javni ključ kot SPKI PEM, vrstico javnega ključa OpenSSH ecdsa-sha2 z njegovim prstnim odtisom SHA-256 in prstni odtis JWK po RFC 7638. Vsak par se na novo ustvari z modulom crypto v Node in se nikoli ne shrani.
Pogosta vprašanja
Katero krivuljo naj izberem?
P-256 (imenovana tudi prime256v1 ali secp256r1) je najbolj razširjena krivulja in zagotavlja približno 128-bitno varnost. P-384 zagotavlja približno 192-bitno varnost in jo zahtevajo nekateri vladni profili, kot je CNSA. P-521 je največja krivulja NIST in je podprta redkeje, zato jo izberite samo, če jo sistem zahteva.
Kateri algoritem JWT ustreza posamezni krivulji?
Ključi P-256 podpisujejo z ES256, ključi P-384 z ES384, ključi P-521 pa z ES512. JOSE vsak algoritem povezuje natanko z eno krivuljo, zato generator JWT zavrne ključ z napačno krivuljo. Rezultat navede algoritem, ki ustreza vašemu ključu.
Katere oblike so na voljo?
Zasebni ključ je kodiran v PEM PKCS #8 (BEGIN PRIVATE KEY), javni pa v PEM SubjectPublicKeyInfo (BEGIN PUBLIC KEY) z navedeno krivuljo. Dobite tudi vrstico ecdsa-sha2-nistp256, nistp384 ali nistp521, ki jo OpenSSH pričakuje v authorized_keys.
Kako dobim obliko SEC1 (BEGIN EC PRIVATE KEY)?
Nekatera orodja še vedno zahtevajo starejše kodiranje SEC1. Z OpenSSL 3 zaženite openssl pkey -in key.pem -traditional -out key-ec.pem ali openssl ec -in key.pem -out key-ec.pem. Sam ključ ostane enak.
Ali lahko s tem ključem ustvarim zahtevo za podpis potrdila?
Da. Shranite zasebni PEM in zaženite openssl req -new -key key.pem -subj "/CN=example.com" -out request.csr, nato zahtevo preverite z dekodirnikom CSR. Overitelji potrdil sprejemajo ključe P-256 in P-384 za potrdila TLS.
Zakaj so ključi EC manjši od ključev RSA?
Kriptografija eliptičnih krivulj zagotavlja enako varnost z veliko krajšimi ključi, zato je ključ P-256 primerljiv s ključem RSA z 3072 biti. Podpisi so krajši, podpisovanje pa hitrejše. Javni ključ na P-256 zavzame 65 bajtov.
Ali je zasebni ključ zaščiten z geslom?
Ne, vrnjen je nešifriran, da ga lahko druga orodja neposredno preberejo. Za shranjevanje ga šifrirajte z openssl pkey -in key.pem -aes256 -out key-encrypted.pem. Neoddajte nešifriranega zasebnega ključa v repozitorij.
Čemu je namenjen prstni odtis JWK?
Prstni odtis po RFC 7638 je zgoščena vrednost SHA-256 base64url članov ključa crv, kty, x in y. Je stabilen identifikator ključa, neodvisen od oblike PEM ali JWK, ter se dobro obnese kot kid v glavah JWT in dokumentih JWKS.
Ali se par ključev shrani?
Ne. Par se ustvari v pomnilniku za vašo zahtevo, vrne enkrat in se nikoli ne zabeleži ali shrani. Preden zapustite stran, kopirajte oba ključa, saj ju pozneje ne bo več mogoče prikazati.
Kaj spremeni polje za komentar?
Doda samo oznako na konec vrstice javnega ključa OpenSSH, na primer user@laptop, da ključ v authorized_keys zlahka prepoznate. Prstni odtisi in podatki ključa ostanejo enaki. Komentar lahko vsebuje največ 200 znakov.