Generátor kľúčov EC
Vygenerujte pár kľúčov eliptických kriviek pre P-256, P-384 alebo P-521 na podpisy ES256, ES384 alebo ES512, ECDH a certifikáty TLS. Výsledok obsahuje súkromný kľúč ako nezašifrovaný PEM vo formáte PKCS #8, verejný kľúč ako PEM vo formáte SPKI, riadok verejného kľúča OpenSSH ecdsa-sha2 s odtlačkom SHA-256 a odtlačok JWK podľa RFC 7638. Každý pár sa vytvára nanovo pomocou modulu crypto v Node a nikdy sa neukladá.
Často kladené otázky
Ktorú krivku si mám vybrať?
P-256 (nazývaná aj prime256v1 alebo secp256r1) je najviac podporovaná krivka a poskytuje zabezpečenie približne 128 bitov. P-384 poskytuje približne 192 bitov a vyžadujú ju niektoré vládne profily, napríklad CNSA. P-521 je najväčšia krivka NIST a podporuje ju menej systémov, preto si ju vyberte iba vtedy, keď ju systém vyžaduje.
Ktorý algoritmus JWT zodpovedá jednotlivým krivkám?
Kľúče P-256 podpisujú ES256, kľúče P-384 podpisujú ES384 a kľúče P-521 podpisujú ES512. JOSE priraďuje každému algoritmu presne jednu krivku, preto Generátor JWT odmietne kľúč na nesprávnej krivke. Vo výsledku je uvedený algoritmus zodpovedajúci vášmu kľúču.
Aké formáty sa vracajú?
Súkromný kľúč je zakódovaný v PEM ako PKCS #8 (BEGIN PRIVATE KEY) a verejný kľúč je zakódovaný v PEM ako SubjectPublicKeyInfo (BEGIN PUBLIC KEY) s pomenovanou krivkou. Dostanete aj riadok ecdsa-sha2-nistp256, nistp384 alebo nistp521, ktorý OpenSSH očakáva v súbore authorized_keys.
Ako získam formát SEC1 (BEGIN EC PRIVATE KEY)?
Niektoré nástroje stále vyžadujú staršie kódovanie SEC1. V OpenSSL 3 spustite openssl pkey -in key.pem -traditional -out key-ec.pem alebo openssl ec -in key.pem -out key-ec.pem. Samotný kľúč zostane rovnaký.
Môžem pomocou tohto kľúča vytvoriť žiadosť o podpis certifikátu?
Áno. Uložte súkromný kľúč PEM a spustite openssl req -new -key key.pem -subj "/CN=example.com" -out request.csr, potom žiadosť skontrolujte pomocou dekodéra CSR. Certifikačné autority prijímajú kľúče P-256 a P-384 pre certifikáty TLS.
Prečo sú kľúče EC menšie ako kľúče RSA?
Kryptografia eliptických kriviek dosahuje rovnakú úroveň zabezpečenia s oveľa kratšími kľúčmi, takže kľúč P-256 je porovnateľný s kľúčom RSA s dĺžkou 3072 bitov. Podpisy sú kratšie a podpisovanie rýchlejšie. Verejný kľúč na P-256 má 65 bajtov.
Je súkromný kľúč chránený prístupovou frázou?
Nie, vracia sa nezašifrovaný, aby ho ostatné nástroje mohli priamo čítať. Na uloženie ho zašifrujte pomocou openssl pkey -in key.pem -aes256 -out key-encrypted.pem. Nikdy neukladajte nezašifrovaný súkromný kľúč do repozitára.
Na čo slúži odtlačok JWK?
Odtlačok podľa RFC 7638 je hash SHA-256 vo formáte base64url, vytvorený z členov crv, kty, x a y kľúča. Ide o stabilný identifikátor kľúča, ktorý nezávisí od formátu PEM ani JWK a dobre sa hodí ako kid v hlavičkách JWT a dokumentoch JWKS.
Ukladá sa pár kľúčov?
Nie. Pár sa vygeneruje v pamäti pre vašu požiadavku, vráti sa raz a nikdy sa nezaznamená ani neuloží. Pred opustením stránky si skopírujte oba kľúče, pretože ich už nebude možné znova zobraziť.
Čo mení pole komentára?
Pridá iba označenie na koniec riadka verejného kľúča OpenSSH, napríklad user@laptop, aby sa dal kľúč ľahko rozpoznať v súbore authorized_keys. Odtlačky a materiál kľúča zostanú rovnaké. Komentár môže mať najviac 200 znakov.