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

РазработчикБезопасность
Реклама · УДАЛИТЬ?

Ключевая конфигурация

PEM универсален. JWK используется библиотеками JWT. Бинарный шестнадцатеричный формат используется для низкоуровневого криптографического обеспечения.
Реклама · УДАЛИТЬ?

Гид

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

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

Генерируйте криптографически безопасные эллиптические кривые пары ключей в браузере с помощью Web Crypto API. Выберите Ed25519, ECDSA P-256 или ECDSA P-384, и экспортируйте в формате PEM (PKCS8/SPKI), JWK или в виде бинарного шестнадцатеричного. Полезно для подписи JWT (ES256, EdDSA), протоколов типа Signal, совместимости с libsodium, а также для любых общих эллиптических криптографических операций, не относящихся к OpenSSH.

Как использовать

  1. Выберите алгоритм: Ed25519 для современных схем подписи, ECDSA P-256 для JWT с ES256, ECDSA P-384 для JWT с ES384.
  2. Выберите формат вывода: PEM для OpenSSL/Node/Python, JWK для библиотек jose / jsonwebtoken, Бинарный шестнадцатеричный для низкоуровневого использования.
  3. Нажмите Сгенерировать пару ключейОба ключа появляются мгновенно.
  4. Скопируйте или скачайте каждый ключ. Показан JWK Thumbprint (RFC 7638) для использования в JWT kid заголовке.

Возможности

  • 100% клиентская сторона – Ключи генерируются window.crypto.subtle.generateKey(); ничего не загружается.
  • Три кривые – Ed25519 (EdDSA), ECDSA P-256 (ES256), ECDSA P-384 (ES384).
  • Три формата вывода – PEM (PKCS8 приватный, SPKI публичный), JWK и бинарный шестнадцатеричный.
  • JWK Thumbprint – Автоматически рассчитанный хеш SHA-256 по RFC 7638, идеально подходит для kid claim.
  • Копирование и загрузка в один клик – Файлы названы в соответствии с алгоритмом и правильным расширением.
  • Нет аналитики – Нет аналитики, нет логирования, нет передачи ключей.

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

  1. Какова разница между Ed25519 и ECDSA?

    Ed25519 — это схема EdDSA, построенная на кривой twisted Edwards Curve Curve25519. Использует детерминированные подписи, имеет фиксированный размер ключа (32 байта), и является более быстрой и сложнее для неправильного использования, чем ECDSA. ECDSA на кривых NIST, таких как P-256 / P-384, предшествует Ed25519, требует нового безопасного случайного значения для каждой подписи (повторное использование значения приводит к утечке приватного ключа), и является форматом, обязательным для многих старых стандартов (TLS, JWT ES256/ES384, сертификаты).

  2. Каковы различия между PKCS8 и SPKI?

    PKCS8 (PrivateKeyInfo) — это стандартный ASN.1 / DER контейнер для приватного ключа, идентифицирующий алгоритм и содержащий ключ. SPKI (SubjectPublicKeyInfo) — соответствующий контейнер для публичного ключа, используемый внутри сертификатов X.509. PEM-кодированный PKCS8 начинается с -----BEGIN PRIVATE KEY----- и SPKI с -----BEGIN PUBLIC KEY-----.

  3. Что такое JWK Thumbprint и в каких случаях его использовать?

    RFC 7638 определяет JWK Thumbprint как base64url-кодированный хеш SHA-256 канонической JSON Web Key. Это стабильный, производный идентификатор, который можно вставить в заголовок JWT kid таким образом, проверяющий может найти правильный публичный ключ в JWKS без утечки ключевой информации. Две стороны, обменивающиеся тем же ключом, получат одинаковый thumbprint.

  4. Почему использовать Web Crypto API вместо JavaScript-библиотеки?

    window.crypto.subtle использует встроенные, проверенные криптографические примитивы браузера, которые передаются на операционную систему с CSPRNG. Пусть JavaScript-библиотеки зависят от случайности JavaScript-движка Math.random или имитированной случайности, легче подвергаться атакам по цепочке поставок, и работают медленнее, потому что не могут использовать расширенные функции CPU (AES-NI / SHA).

  5. Безопасны ли эти ключи для использования в производственной среде?

    Случайность такой же, как у CSPRNG браузера, который на современных операционных системах подходит для использования в производственных ключах. Риск связан с средой выполнения: компрометированный аппарат, вредоносный расширение браузера или фишинговая страница, которая загружает свою версию страницы, может выгрузить ключи. Для наиболее ценных секретов генерируйте ключи вне сети (openssl genpkey, аппаратные устройства, HSM) или в изолированной среде.

Хотите убрать рекламу? Откажитесь от рекламы сегодня

Установите наши расширения

Добавьте инструменты ввода-вывода в свой любимый браузер для мгновенного доступа и более быстрого поиска

в Расширение Chrome в Расширение края в Расширение Firefox в Расширение Opera

Табло результатов прибыло!

Табло результатов — это интересный способ следить за вашими играми, все данные хранятся в вашем браузере. Скоро появятся новые функции!

Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?
Реклама · УДАЛИТЬ?

новости с техническими моментами

Примите участие

Помогите нам продолжать предоставлять ценные бесплатные инструменты

Купи мне кофе
Реклама · УДАЛИТЬ?