Перейти к содержимому

Генератор ключей RSA

Создайте новую пару ключей RSA с модулем длиной 2048 или 3072 бит и открытым показателем 65537. Вы получите закрытый ключ в незашифрованном формате PKCS #8 PEM, открытый ключ в формате SPKI PEM, соответствующую строку OpenSSH ssh-rsa с отпечатком SHA-256, алгоритмы RS и PS, которыми он подписывает, и контрольный отпечаток JWK по RFC 7638 для использования в качестве идентификатора ключа. Каждая пара создается модулем crypto в Node.js для этого запроса и нигде не сохраняется.

Сбросить

Часто задаваемые вопросы

Выбрать 2048 или 3072 бит?

RSA длиной 2048 бит по-прежнему является распространенным минимумом и поддерживается везде, включая библиотеки 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 показывает то же значение для этого ключа.

Какие алгоритмы 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 — стандартному значению.

О проекте OneClick Pro

OneClick Pro — это бесплатная коллекция из более чем 150 веб-инструментов для повседневных задач: преобразования изображений и единиц измерения, форматирования и проверки кода, проверки доменов и SEO, а также работы с текстом, датами и числами. Все инструменты доступны без регистрации и подписки, а введенные вами данные используются только для расчета результата и никогда не сохраняются. Используйте коллекцию как быстрый набор инструментов для разовых задач или добавьте в закладки те, которыми пользуетесь каждый день.