# Генератор ключей 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 символов.

Ваша реклама здесь?

[Напишите нам по электронной почте](mailto:hi@dennn.is?subject=%D0%A0%D0%B5%D0%BA%D0%BB%D0%B0%D0%BC%D0%B0%20%D0%BD%D0%B0%20OneClick%20Pro)

[Реклама Набор плагинов для работы агентов с WordPress.](https://sleekwp.com/?ref=oneclickpro)
