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

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

Создавайте пару ключей на эллиптической кривой P-256, P-384 или P-521 для подписей ES256, ES384 или ES512, ECDH и сертификатов TLS. Результат содержит закрытый ключ в незашифрованном формате PKCS #8 PEM, открытый ключ в формате SPKI PEM, строку открытого ключа OpenSSH ecdsa-sha2 с отпечатком SHA-256 и JWK-отпечаток RFC 7638. Каждая пара создается заново с помощью криптографического модуля Node и нигде не сохраняется.

Сбросить

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

Какую кривую выбрать?

P-256 (также известная как prime256v1 или secp256r1) — самая широко поддерживаемая кривая с уровнем безопасности около 128 бит. У P-384 этот показатель составляет около 192 бит; она требуется некоторыми государственными стандартами, например CNSA. P-521 — крупнейшая кривая NIST, и ее поддерживают реже, поэтому выбирайте ее, только если этого требует система.

Какой алгоритм JWT соответствует каждой кривой?

Ключи P-256 подписывают данные алгоритмом ES256, ключи P-384 — ES384, а ключи P-521 — ES512. JOSE связывает каждый алгоритм ровно с одной кривой, поэтому генератор JWT отклоняет ключ на неверной кривой. В результате указан алгоритм, соответствующий вашему ключу.

Какие форматы возвращаются?

Закрытый ключ представлен в кодировке PEM формата PKCS #8 (BEGIN PRIVATE KEY), а открытый — в кодировке PEM формата SubjectPublicKeyInfo (BEGIN PUBLIC KEY) с указанием именованной кривой. Также вы получите строку ecdsa-sha2-nistp256, nistp384 или nistp521, которую OpenSSH ожидает в authorized_keys.

Как получить формат SEC1 (BEGIN EC PRIVATE KEY)?

Некоторым инструментам по-прежнему нужна старая кодировка SEC1. С OpenSSL 3 выполните openssl pkey -in key.pem -traditional -out key-ec.pem или openssl ec -in key.pem -out key-ec.pem. Сам ключ при этом не изменится.

Можно ли создать запрос на подпись сертификата с этим ключом?

Да. Сохраните закрытый ключ PEM и выполните openssl req -new -key key.pem -subj "/CN=example.com" -out request.csr, затем проверьте запрос с помощью декодера CSR. Центры сертификации принимают ключи P-256 и P-384 для сертификатов TLS.

Почему ключи EC короче ключей RSA?

Криптография на эллиптических кривых обеспечивает тот же уровень безопасности при гораздо меньшей длине ключа: ключ P-256 сопоставим с ключом RSA длиной 3072 бит. Подписи короче, а создание подписей быстрее. Открытый ключ на P-256 занимает 65 байт.

Защищен ли закрытый ключ парольной фразой?

Нет, он возвращается незашифрованным, чтобы другие инструменты могли читать его напрямую. Зашифруйте его для хранения командой openssl pkey -in key.pem -aes256 -out key-encrypted.pem. Никогда не добавляйте незашифрованный закрытый ключ в репозиторий.

Для чего нужен JWK-отпечаток?

Отпечаток RFC 7638 — это хеш SHA-256 в формате base64url, вычисленный по полям crv, kty, x и y ключа. Это постоянный идентификатор ключа, не зависящий от формата PEM или JWK; его удобно использовать как kid в заголовках JWT и документах JWKS.

Сохраняется ли пара ключей?

Нет. Пара создается в памяти для вашего запроса, возвращается один раз и никогда не записывается в журнал или файл. Скопируйте оба ключа, прежде чем покинуть страницу: повторно их показать нельзя.

Что меняет поле комментария?

Оно лишь добавляет метку в конец строки открытого ключа OpenSSH, например user@laptop, чтобы ключ было легко узнать в authorized_keys. Отпечатки и сами ключи не меняются. Комментарий может содержать до 200 символов.

О проекте OneClick Pro

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