5.7.1. Цифровая подпись в формате JSON

5.7.1.1. JWS (JSON Web Signature) - структура данных в формате JSON, представляющая сообщение с цифровой подписью или кодом аутентификации сообщений.

5.7.1.2. JWS состоит из трех частей:

- <JOSE Header>: JOSE заголовок - JSON-объект, содержащий параметры, описывающие используемые криптографические операции и их параметры (пункт 8.1.4 [5]);

- <JWS Payload>: функциональное содержимое JWS (полезная нагрузка) - последовательность байтов, подлежащих защите, другими словами, сообщение; функциональное содержимое может состоять из произвольной последовательности байтов;

- <JWS Signatures цифровая подпись или код аутентификации сообщений, вычисленные на основе JOSE заголовка JWS и функционального содержимого JWS (пункт 8.1.5 [5]).

5.7.1.3. <JOSE Header> может включать следующие параметры:

- <alg>: (обязательный) идентификатор криптографического алгоритма цифровой подписи или вычисления кода аутентификации, используемого для защиты JWS;

- <kid>: (опциональный) идентификатор ключа, который используется для защиты JWS;

- <x5t#St256>: (опциональный) отпечаток сертификата ключа проверки подписи отправителя; является Base64url-представлением 256-битного значения хэш-функции ГОСТ Р 34.11-2012 [12], вычисленной для DER-кодирования X.509 сертификата ключа проверки цифровой подписи отправителя JWS;

- <typ>: (опциональный) тип (media type) всего объекта, заданного структурой JWS;

- <cty>: (опциональный) тип (media type) функционального содержимого JWS;

- <crit>: (опциональный) список имен критичных параметров заголовка;

- <seed>: случайная последовательность длины 32 байта, которая используется только с алгоритмом вычисления кода аутентификации; параметр обязательный в случае использования алгоритма вычисления кода аутентификации и не должен присутствовать в случае использования алгоритма цифровой подписи.

В зависимости от значения параметра <alg> в структуру <JOSE Header> могут включаться также другие параметры.

Точное описание JWS с указанием криптографических алгоритмов и формул вычисления/проверки цифровой подписи или кода аутентификации с использованием российских криптографических алгоритмов приведено в подразделах 8.1, 9.1, 9.2 [5].

Примечание. Дополнительные сведения о структуре JWS приведены в [45].