Проверка подписи
Что такое JWT?
JWT (JSON Web Token, RFC 7519) — открытый стандарт для безопасной передачи информации между сторонами в виде компактного JSON-объекта. Чаще всего используется для аутентификации и авторизации.
Структура
JWT состоит из трёх частей в кодировке Base64URL, разделённых точками: Header.Payload.Signature. Заголовок указывает тип токена и алгоритм подписи. Полезная нагрузка содержит утверждения (claims). Подпись обеспечивает целостность.
Поддерживаемые алгоритмы
HMAC (HS256/384/512), RSA (RS256/384/512), RSA-PSS (PS256/384/512) и ECDSA (ES256/384/512). Неподписанный alg=none отклоняется в целях безопасности.
Допустимые форматы ключей
HMAC: любая строка UTF-8. Асимметричные: только PEM — PKCS8 (-----BEGIN PRIVATE KEY-----) для подписи, SPKI (-----BEGIN PUBLIC KEY-----) для проверки. PKCS1, SEC1, зашифрованные PEM и сертификаты X.509 не принимаются; инструмент подскажет точную команду openssl для конвертации.