Генератор ключей ECDSA и Ed25519

Создавайте пары ключей ECDSA (P-256/P-384) или Ed25519 и подписывайте либо проверяйте сообщения, экспортируя их в PEM или JWK — полностью в вашем браузере.

Загрузка инструмента…

Генератор ключей ECDSA и Ed25519Создайте пару ключей на эллиптической кривой, затем подпишите сообщение закрытым ключом и проверьте подпись открытым ключом — всё это не покидая страницы. Выберите P-256, P-384 или Ed25519, экспортируйте ключи как PEM или JWK и наблюдайте, как результат проверки обновляется сам. Каждый ключ создаётся локально с помощью Web Crypto API и @noble/curves, поэтому закрытые ключи никогда не попадают на сервер.

Что такое Генератор ключей ECDSA и Ed25519?

Генератор ключей ECDSA и Ed25519 — это бесплатный браузерный инструмент для создания пар ключей на эллиптических кривых и отработки цифровых подписей. Разработчики, инженеры по безопасности и студенты используют его, чтобы проверять процессы подписи и верификации, генерировать ключи для JWT или SSH-подобных рабочих процессов и понять, чем различаются ECDSA и EdDSA, не устанавливая OpenSSL. Выберите кривую в меню «Кривая», нажмите «Сгенерировать», чтобы создать свежую пару ключей, и скопируйте открытый и закрытый ключи в формате PEM или JWK. Затем введите сообщение, нажмите «Подписать», чтобы получить подпись в Base64, и инструмент автоматически проверит её по открытому ключу, показав, действительна ли подпись. P-256 и P-384 обрабатываются встроенным в браузер Web Crypto ECDSA, а Ed25519 вычисляется библиотекой @noble/curves, загружаемой только при её выборе.

Как пользоваться Генератор ключей ECDSA и Ed25519

  1. Выберите кривую в меню «Кривая»: P-256 или P-384 (ECDSA через Web Crypto) либо Ed25519 (EdDSA).
  2. Выберите PEM или JWK в качестве формата экспорта ключей.
  3. Нажмите «Сгенерировать ключи», чтобы создать новую случайную пару ключей; открытый и закрытый ключи появятся ниже.
  4. Скопируйте открытый или закрытый ключ кнопкой копирования, чтобы использовать его в другом месте.
  5. Введите сообщение и нажмите «Подписать», чтобы получить подпись в Base64.
  6. Прочитайте результат проверки: инструмент сам сверяет подпись с открытым ключом и сообщает, действительна ли она.

Примеры

Сгенерировать пару ключей P-256 в PEM

Ввод

Кривая: P-256, Формат: PEM, нажмите «Сгенерировать ключи»

Вывод

-----BEGIN PUBLIC KEY-----
MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcD...
-----END PUBLIC KEY-----

Подписать и проверить сообщение с помощью Ed25519

Ввод

Кривая: Ed25519, сообщение: "hello noble", нажмите «Подписать»

Вывод

Подпись (Base64): 3Lq8...== — результат проверки: Подпись действительна.

Экспортировать открытый ключ Ed25519 как JWK

Ввод

Кривая: Ed25519, Формат: JWK

Вывод

{ "kty": "OKP", "crv": "Ed25519", "x": "11qYAYK..." }

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

Отправляются ли закрытые ключи куда-либо?
Нет. Генерация ключей, подпись и проверка выполняются локально в вашем браузере с помощью Web Crypto API (для P-256/P-384) и библиотеки @noble/curves (для Ed25519). Закрытый ключ хранится только в памяти этой страницы, никогда не загружается на сервер и исчезает при закрытии вкладки, поэтому инструмент работает офлайн.
В чём разница между ECDSA и Ed25519?
ECDSA на P-256/P-384 — давно устоявшийся стандарт NIST, используемый TLS-сертификатами и многими JWT. Ed25519 — современная схема EdDSA, которая быстрее, имеет подписи фиксированного размера и избегает ряда подводных камней ECDSA. Выбирайте то, что требует ваша целевая система.
Что означают PEM и JWK?
PEM оборачивает двоичный ключ в текстовый блок Base64 с заголовками BEGIN/END — форма, которую ожидают OpenSSL и большинство серверов. JWK — это JSON-объект, описывающий ключ, распространённый в веб- и OAuth/JWT-контекстах. Смените формат перед генерацией, чтобы получить нужную кодировку.
Как кодируется подпись?
Подпись отображается в Base64. Для ECDSA это необработанное значение r||s, которое создаёт Web Crypto; для Ed25519 это 64-байтовая подпись EdDSA. Вы можете вставить подпись в Base64 обратно в поле, чтобы проверить её по сгенерированному открытому ключу.
Можно ли проверить подпись, созданную в другом месте?
Вы можете проверять по паре ключей, сгенерированной здесь: вставьте сообщение и подпись в Base64, и инструмент сверит её с соответствующим открытым ключом. Импорт внешней пары ключей в этом инструменте не поддерживается.

Похожие инструменты