Как использовать JWE и JWS в JWT.io

Я новичок в JWT, я читал RFC 7519 и множество веб-сайтов по проблеме JWE и JWS, но я немного запутался в этой теме.

JWE закодирован, а JWS закодирован и подписан. RFC описывает "

Если заголовок JOSE предназначен для JWS, JWT представляется как JWS, а утверждения имеют цифровой подписи или MAC-адрес, причем набор утверждений JWT является полезной нагрузкой JWS.

Если заголовок JOSE HeHeader предназначен для JWE, JWT представлен как JWE, и утверждения зашифрованы, причем набор утверждений JWT представляет собой открытый текст, зашифрованный JWE "

Как это работает во фреймворке JWT.io? Это нужно для реализации myselfe или мне нужна дополнительная библиотека ??

С уважением Майкл


person michael-mammut    schedule 18.07.2016    source источник


Ответы (1)


JWE закодирован, а JWS закодирован и подписан.

Не совсем так, JWE означает, что JWT зашифрован цифровой подписью, а JWS означает цифровую подпись.

jwt.io не поддерживает JWE и частично поддерживает JWS (только компактное представление сериализации с алгоритмами HS256 или RS256). Существует список библиотек для нескольких вариантов использования, однако библиотеки, поддерживающие JWE, в нем отсутствуют.

В Spomky-Labs мы разработали библиотеку PHP, которая поддерживает JWE и JWS со всеми алгоритмами, перечисленными в RFC7518.

person Spomky-Labs    schedule 19.07.2016
comment
Спасибо за ответ. Это означает, что утверждения в заголовке JWT определяют JWE или JWS. В нижней строке оба JWTs? это верно? Потому что я прочитал RFC для JWE и JWS, и там есть только описание претензий на голову. Я так много прошу, потому что хочу понять также отдельные детали, а не грубую абстрактную информацию. - person michael-mammut; 19.07.2016
comment
Оба JWT. Значения заголовка просто указывают, какой у вас тип тела (заголовки _1 _ / _ 2_), как получить это тело (зашифровано ли оно или подписано) и как проверить его содержимое (critical утверждения, b64 закодировано ...). - person Spomky-Labs; 19.07.2016