Перейти до вмісту

Генератор ключів 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. Кожна пара створюється щоразу заново за допомогою модуля crypto 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, а також роботи з текстом, датами й числами. Кожен інструмент працює без реєстрації чи передплати, а введені вами дані використовуються лише для обчислення результату й ніколи не зберігаються. Використовуйте цю добірку як швидкий набір інструментів для разових завдань або додайте в закладки інструменти, якими користуєтеся щодня.