Генератор на RSA ключове
Генерирайте нова двойка RSA ключове с модул 2048 или 3072 бита и публичен експонент 65537. Получавате частния ключ като некриптиран PKCS #8 PEM, публичния ключ като SPKI PEM, съответстващ ред OpenSSH ssh-rsa с неговия отпечатък SHA-256, алгоритмите RS и PS, които може да подписва, и JWK отпечатъка по RFC 7638, който да използвате като идентификатор на ключ. Всяка двойка се създава с криптографския модул на Node за тази заявка и никога не се съхранява.
Често задавани въпроси
Да избера ли 2048 или 3072 бита?
2048-битовият RSA все още е обичайният минимум и се приема навсякъде, включително от JWT библиотеки, които отказват по-малки ключове. 3072 бита съответстват на ниво на сигурност от 128 бита, препоръчано от NIST SP 800-57 след 2030, с цената на по-големи подписи и по-бавно подписване. Не се предлагат по-големи размери като 4096 бита, защото времето за генерирането им е непредвидимо на споделен сървър.
Какви формати използва резултатът?
Частният ключ е в PEM формат PKCS #8 (BEGIN PRIVATE KEY), а публичният — в PEM формат SubjectPublicKeyInfo (BEGIN PUBLIC KEY). И двата могат да се четат от OpenSSL, Java, .NET, Go, Node, jose и повечето други библиотеки. Редът с публичния ключ OpenSSH се добавя за файлове authorized_keys.
Криптиран ли е частният ключ?
Не, частният ключ се връща без парола, за да можете да го поставите директно в други инструменти. За да го защитите при съхранение, изпълнете openssl pkey -in key.pem -aes256 -out key-encrypted.pem и съхранявайте само криптирания файл. Не включвайте некриптираното копие в системата за контрол на версиите.
Как да получа формат PKCS #1 (BEGIN RSA PRIVATE KEY)?
Някои по-стари програми очакват традиционния формат PKCS #1. С OpenSSL 3 изпълнете openssl pkey -in key.pem -traditional -out key-rsa.pem, за да преобразувате файла PKCS #8. Ключовият материал е същият, променя се само обвивката.
Мога ли да използвам ключа за SSH?
Да. Поставете реда ssh-rsa във файла ~/.ssh/authorized_keys на сървъра и запазете частния PEM като файл с идентификатора си с права 600, тъй като OpenSSH чете RSA ключове в PEM формат. Много сървъри вече предпочитат ключове Ed25519, които се създават с Генератор на ключове Ed25519.
Какво представлява отпечатъкът на JWK?
Това е хеш SHA-256 по RFC 7638 на задължителните членове на публичния ключ в JWK, кодиран в base64url. Той идентифицира ключа независимо от формата му, което го прави подходяща стойност за kid в JWT и JWKS документи. JWK Converter показва същата стойност за този ключ.
Кои алгоритми JWT може да подписва този ключ?
RSA ключ може да подписва с RS256, RS384 и RS512 (PKCS #1 v1.5), както и с PS256, PS384 и PS512 (RSA-PSS). Използвайте частния PEM с Генератор JWT и предоставете на проверяващите публичния PEM или неговия JWK. Алгоритъмът е свойство на подписа, така че един ключ може да се използва за няколко от тях.
Съхранява ли се генерираният ключ някъде?
Не. Двойката ключове се създава в паметта за вашата заявка, връща се еднократно в резултата и никога не се записва в дневник или съхранява. Ако я загубите, генерирайте нова двойка, тъй като никой не може да я възстанови вместо вас.
Какво прави опцията за коментар?
Коментарът се добавя към реда с публичния ключ OpenSSH, обикновено user@host или етикет като deploy-2026, за да можете да разпознаете ключа във файла authorized_keys. Той не променя ключа или отпечатъците му. Коментарите са ограничени до 200 символа, а последователностите от празни символи се свеждат до единични интервали.
Колко случайни са ключовете?
Простите идват от криптографски защитения генератор на случайни числа на операционната система чрез OpenSSL — същия източник, който сървърите използват за собствените си ключове. При всяка заявка се създава нова, независима двойка ключове. Публичният експонент винаги е 65537 — стандартната стойност.