Generátor kľúčov RSA
Vygenerujte nový pár kľúčov RSA s modulom s 2048- alebo 3072-bitovou dĺžkou a verejným exponentom 65537. Dostanete súkromný kľúč PEM PKCS #8 bez šifrovania, verejný kľúč PEM SPKI, zodpovedajúci riadok OpenSSH ssh-rsa s odtlačkom SHA-256, algoritmy RS a PS, ktorými podpisuje, a odtlačok JWK podľa RFC 7638, ktorý môžete použiť ako ID kľúča. Každý pár sa vytvorí pre túto požiadavku pomocou modulu crypto v Node a nikdy sa neukladá.
Často kladené otázky
Mám vybrať 2048 alebo 3072 bitov?
RSA s 2048 bitmi je stále bežné minimum a akceptujú ho všade vrátane knižníc JWT, ktoré odmietajú kratšie kľúče. 3072 bitov zodpovedá úrovni zabezpečenia 128 bitov, ktorú NIST SP 800-57 odporúča pre obdobie po roku 2030, za cenu väčších podpisov a pomalšieho podpisovania. Väčšie veľkosti, napríklad 4096 bitov, nie sú dostupné, pretože ich generovanie môže na zdieľanom serveri trvať nepredvídateľne dlho.
Aké formáty používa výsledok?
Súkromný kľúč je zakódovaný vo formáte PEM PKCS #8 (BEGIN PRIVATE KEY) a verejný kľúč vo formáte PEM SubjectPublicKeyInfo (BEGIN PUBLIC KEY). Oba možno načítať pomocou OpenSSL, Java, .NET, Go, Node, jose a väčšiny ďalších knižníc. Riadok verejného kľúča OpenSSH sa pridáva pre súbory authorized_keys.
Je súkromný kľúč šifrovaný?
Nie, súkromný kľúč sa vracia bez prístupovej frázy, aby ste ho mohli priamo vložiť do iných nástrojov. Ak ho chcete chrániť pri ukladaní, spustite openssl pkey -in key.pem -aes256 -out key-encrypted.pem a uchovávajte iba zašifrovaný súbor. Nezašifrovanú kópiu nezaraďujte do správy verzií.
Ako získam formát PKCS #1 (BEGIN RSA PRIVATE KEY)?
Niektoré staršie programy vyžadujú tradičný formát PKCS #1. V OpenSSL 3 spustite openssl pkey -in key.pem -traditional -out key-rsa.pem a skonvertujte súbor PKCS #8. Materiál kľúča zostáva rovnaký, mení sa iba jeho obal.
Môžem kľúč použiť na SSH?
Áno. Vložte riadok ssh-rsa do súboru ~/.ssh/authorized_keys na serveri a uložte súkromný kľúč PEM ako súbor identity s oprávneniami 600, pretože OpenSSH číta kľúče RSA zakódované vo formáte PEM. Mnohé servery dnes uprednostňujú kľúče Ed25519, ktoré vytvára Generátor kľúčov Ed25519.
Čo je odtlačok JWK?
Je to hash SHA-256 verejných členov JWK, ktoré vyžaduje RFC 7638, zakódovaný vo formáte base64url. Identifikuje kľúč nezávisle od jeho formátu, takže je vhodný ako hodnota kid pre tokeny JWT a dokumenty JWKS. Pre tento kľúč zobrazuje rovnakú hodnotu aj Prevodník JWK.
Ktorými algoritmami JWT môže tento kľúč podpisovať?
Kľúč RSA môže podpisovať pomocou RS256, RS384 a RS512 (PKCS #1 v1.5) a PS256, PS384 a PS512 (RSA-PSS). Použite súkromný kľúč PEM s Generátorom JWT a overovačom poskytnite verejný kľúč PEM alebo jeho JWK. Algoritmus je vlastnosťou podpisu, takže jeden kľúč môže slúžiť pre viacero z nich.
Ukladá sa vygenerovaný kľúč niekam?
Nie. Pár kľúčov sa vytvorí v pamäti pre vašu požiadavku, vo výsledku sa vráti iba raz a nikdy sa nezaznamenáva ani neukladá. Ak ho stratíte, vygenerujte nový pár, pretože vám ho nikto nedokáže obnoviť.
Na čo slúži možnosť komentára?
Komentár sa pripája k riadku verejného kľúča OpenSSH, zvyčajne v tvare user@host alebo ako označenie, napríklad deploy-2026, aby ste kľúč rozpoznali v súbore authorized_keys. Kľúč ani jeho odtlačky sa tým nemenia. Komentáre môžu mať najviac 200 znakov a biele znaky sa zlučujú na jednotlivé medzery.
Aké náhodné sú tieto kľúče?
Prvočísla pochádzajú z kryptograficky bezpečného generátora náhodných čísel operačného systému cez OpenSSL, z rovnakého zdroja, ktorý servery používajú na tvorbu vlastných kľúčov. Každá požiadavka vytvorí nový, nezávislý pár kľúčov. Verejný exponent má vždy hodnotu 65537, čo je štandardná hodnota.