Генератор JWT
Создавайте подписанные токены JSON Web Token с алгоритмами HS, RS, PS, ES или EdDSA. Правьте полезную нагрузку, задавайте exp и iat, создавайте ключи и секреты в браузере.
Используйте не меньше случайных байтов, чем длина хеша (32 байта для HS256). Короткие пароли подбираются перебором офлайн.
Что такое Генератор JWT?
Генератор подписывает любую полезную нагрузку JSON в компактный токен JSON Web Token. Он поддерживает HMAC (HS256/384/512), RSA (RS256/384/512), RSA-PSS (PS256/384/512), ECDSA (ES256/384/512) и EdDSA (Ed25519), одним щелчком добавляет утверждения iat и exp и может создать случайный секрет или пару ключей, открытый ключ которой можно использовать для проверки.
Как пользоваться Генератор JWT
- Выберите алгоритм.
- Отредактируйте JSON полезной нагрузки; кнопками установите iat на текущий момент или exp на час или сутки вперёд.
- Введите секрет (HS*) или закрытый ключ PKCS#8 PEM / JWK либо нажмите «Создать случайный секрет» или «Создать пару ключей».
- При желании задайте идентификатор ключа (kid), затем нажмите «Подписать токен» и скопируйте токен (и открытый ключ для асимметричных алгоритмов).
Пример
HS256, payload {"sub":"1"}, secret your-256-bit-secret eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxIn0.rTCH8cLoGxAm_xw68z-zXVKi9ie6xJn9tnVWjd_9ftE
Когда использовать Генератор JWT
Используйте для создания тестовых токенов при разработке API, воспроизведения ошибок или изучения подписи JWT. В продакшене выдавайте токены с сервера аутентификации, чтобы ключи оставались в хранилище секретов; никогда не вставляйте боевые закрытые ключи на сайты.
Как работает Генератор JWT
Подпись использует библиотеку jose поверх Web Crypto API браузера. Заголовок это {"alg": …, "typ": "JWT"} плюс необязательный kid; заголовок и полезная нагрузка сериализуются в JSON, кодируются в Base64URL и подписываются. Секреты HMAC используются как байты UTF-8 или декодируются из Base64/Base64URL, если отмечен соответствующий флажок. Создаваемые секреты HMAC состоят из 32/48/64 случайных байт по размеру хеша; пары ключей создаются через Web Crypto и экспортируются в PEM PKCS#8 и SPKI.
Распространенные Случаи Использования
- Создать просроченный токен для проверки обработки 401 в вашем API.
- Создать пару ключей RS256 и токен для проверки валидатора на основе JWKS.
- Подписать токен с пользовательскими утверждениями для локальной разработки.
- Показать разницу между подписями HS256 и ES256.
Примечание по Безопасности
Для тестирования используйте одноразовые ключи. Короткий или угадываемый секрет HMAC можно подобрать офлайн по любому токену, подписанному им.
Часто Задаваемые Вопросы
Какой алгоритм использовать?
HS256, когда одна и та же служба выдаёт и проверяет токены и может хранить общий секрет. RS256, ES256 или EdDSA, когда другие стороны должны проверять токены открытым ключом.
Почему мой ключ RSA отклоняется?
Ключи, начинающиеся с BEGIN RSA PRIVATE KEY, имеют формат PKCS#1. Преобразуйте их в PKCS#8 (BEGIN PRIVATE KEY) командой openssl pkcs8 -topk8 -nocrypt -in key.pem.
Сохраняются ли созданные ключи?
Нет. Они существуют только на странице, пока вы её не покинете.