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

Создавайте пару ключей Ed25519 для подписей EdDSA, входа по SSH, подписанных коммитов Git и JWT. Вы получите закрытый ключ в незашифрованном формате PKCS #8 PEM, открытый ключ в формате SPKI PEM, готовую строку ssh-ed25519 для authorized_keys с необязательным комментарием, отпечаток SHA-256 и JWK-отпечаток RFC 7638. Ключи создаются для каждого запроса с помощью криптографического модуля Node; они нигде не записываются в журнал и не сохраняются.

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

### Зачем использовать Ed25519?

Ed25519 обеспечивает уровень безопасности около 128 бит при длине ключа 32 байта и подписи 64 байта. Алгоритм быстро создает подписи, и в нем невозможно ошибиться при настройке параметров. Подписи детерминированы, поэтому слабый генератор случайных чисел в момент подписания не может привести к утечке ключа. Это тип ключа по умолчанию в современных версиях OpenSSH.

### В каких форматах представлен результат?

Закрытый ключ представлен в кодировке PEM формата PKCS #8 (BEGIN PRIVATE KEY), а открытый — в кодировке PEM формата SubjectPublicKeyInfo (BEGIN PUBLIC KEY), как определено в RFC 8410. Открытый ключ также представлен строкой ssh-ed25519 для OpenSSH.

### Можно ли использовать закрытый ключ с OpenSSH?

OpenSSH хранит закрытые ключи Ed25519 в собственном формате, который этот инструмент не создает; кроме того, многие версии OpenSSH не могут загрузить ключ Ed25519 в формате PKCS #8. Строка открытого ключа ssh-ed25519 подходит для authorized_keys, но для файла идентификации SSH проще всего выполнить ssh-keygen -t ed25519 на своем компьютере.

### Какой алгоритм JWT подписывает ключ?

Ключи Ed25519 подписывают данные алгоритмом EdDSA, определенным в RFC 8037. Вставьте закрытый ключ PEM в генератор JWT с выбранным EdDSA, а проверяющим передайте открытый ключ PEM или его JWK с kty OKP и crv Ed25519.

### Что означает отпечаток SHA-256 в результате?

Это отпечаток двоичного блока открытого ключа OpenSSH в формате SHA256: и далее без дополнения base64, точно в том виде, в котором его выводят ssh-keygen -l и серверы. Сравните его с отпечатком, показанным сервером или GitHub, чтобы убедиться, что вы добавили нужный ключ.

### Что такое контрольный отпечаток JWK?

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

### Меняет ли комментарий ключ?

Нет. Комментарий лишь добавляется к строке ssh-ed25519, например you@laptop, чтобы различать ключи в authorized_keys. Отпечатки вычисляются только на основе ключа. Комментарий может содержать до 200 символов.

### Зашифрован ли закрытый ключ?

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

### Можно ли использовать Ed25519 для сертификатов TLS?

X.509 поддерживает ключи Ed25519, и OpenSSL может создавать такие сертификаты и запросы, но браузеры и публичные центры сертификации пока не принимают их для TLS. Для публичных сертификатов TLS используйте ключ P-256 из генератора ключей EC или ключ RSA.

### Сохраняется ли сгенерированный ключ?

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

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

[Напишите нам по электронной почте](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)
