Генератор ключів Ed25519
Створюйте пару ключів Ed25519 для підписів EdDSA, входу SSH, підписаних комітів Git і JWT. Ви отримаєте незашифрований приватний ключ у форматі PKCS #8 PEM, відкритий ключ у форматі SPKI PEM, готовий рядок ssh-ed25519 для authorized_keys з необов’язковим коментарем, його відбиток SHA-256 і відбиток JWK за RFC 7638. Ключі створюються для кожного запиту за допомогою модуля crypto 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.
Згенерований ключ зберігається?
Ні. Пара ключів зберігається лише в пам’яті, поки виконується запит, і повертається один раз у результаті. Дані не записуються в журнал і не зберігаються, тож скопіюйте обидва ключі, перш ніж залишити сторінку.