UTILS.
100% у браузері
🗝️

Генератор пар ключів RSA / EC (експорт PEM)

Згенеруйте пару ключів RSA чи EC у вашому браузері за допомогою WebCrypto й експортуйте відкритий і закритий ключі як PEM чи JWK. Ключі ніколи не залишають ваш пристрій.

Ключі генеруються локально у вашому браузері — закритий ключ ніколи не завантажується.

— результат з’явиться тут —
— результат з’явиться тут —

Про цей інструмент

Генератор пар ключів RSA / EC створює асиметричну пару ключів повністю у вашому браузері за допомогою нативного WebCrypto API (crypto.subtle.generateKey), а потім експортує її у форматах, які ви справді вставляєте у файли конфігурації та код. Ніщо не передається й не зберігається на сервері: закритий ключ генерується на вашому пристрої, показується один раз і відкидається, коли ви залишаєте сторінку. Це робить його безпечним способом карбувати ключі для інструментів, суміжних із SSH, підпису JWT, експериментів із TLS чи вивчення того, як пасують формати відкритих ключів.

Для RSA ви обираєте довжину модуля 2048, 3072 чи 4096 біт зі стандартним відкритим експонентом 65537 і те, чи ключ для підпису (RSASSA-PKCS1-v1_5, SHA-256) чи шифрування (RSA-OAEP, SHA-256). Для ключів на еліптичних кривих ви обираєте криву NIST — P-256, P-384 чи P-521 — і те, чи вона для підпису (ECDSA) чи узгодження ключів (ECDH). Більші модулі RSA й вищі криві сильніші, але повільніші для генерації; зокрема RSA-4096 може зайняти кілька секунд у браузері.

Експорт виконується через exportKey WebCrypto: відкритий ключ як SubjectPublicKeyInfo (SPKI), а закритий ключ як PKCS#8, закодований у base64 й обгорнутий по 64 символи на рядок усередині рамок -----BEGIN PUBLIC KEY----- / -----BEGIN PRIVATE KEY-----. Перемкніть перемикач формату на JWK, щоб натомість отримати подання JSON Web Key. Оскільки генерація локальна й офлайн, закритий ключ ніколи не завантажується — скопіюйте його в безпечне місце перед закриттям вкладки, бо після цього його не можна відновити.

Поширені запитання

Чи надсилаються закриті ключі на сервер?
Ні. Ключі генеруються локально механізмом WebCrypto вашого браузера й експортуються на сторінці. Закритий ключ ніколи не залишає ваш пристрій і ніде не зберігається, тож скопіюйте його в безпечне місце перед закриттям вкладки — після цього його не можна відновити.
Який розмір ключа чи криву обрати?
RSA-2048 — поширена базова лінія; 3072 чи 4096 дають більший запас ціною повільнішої генерації й більших ключів. Для EC P-256 швидкий і широко підтримуваний, тоді як P-384 і P-521 пропонують вищі рівні безпеки. Ключі EC значно менші за RSA для порівнянної сили.
У чому різниця між виводом PEM і JWK?
PEM — це формат base64 DER, обгорнутий у рядки BEGIN/END, який очікує більшість серверів і OpenSSL — SPKI для відкритого ключа й PKCS#8 для закритого. JWK — це об'єкт JSON Web Key, що використовується бібліотеками JavaScript та JOSE/JWT. Обидва описують ту саму пару ключів.
Підпис проти шифрування — що змінюється?
Це обирає алгоритм, для якого створюється ключ. Підпис RSA використовує RSASSA-PKCS1-v1_5, а шифрування — RSA-OAEP; підпис EC використовує ECDSA, а узгодження ключів — ECDH. Ключ, згенерований для однієї мети, прив'язаний до цього алгоритму, тож обирайте на основі того, як ви його використовуватимете.

Більше інструментів