5.7.3.1. JSON Web Key (JWK) [47] - структура данных в формате JSON, представляющая криптографический ключ. Параметры JWK представляют в том числе свойства ключа и значение ключа.
5.7.3.2. В состав JWK входят следующие параметры:
- <kty>: (обязательный) тип ключа; определены следующие значения:
- "EC" - ключ для криптографического алгоритма на базе эллиптической кривой,
- "oct" - последовательность байтов, используемая для представления симметричного ключа;
- <use>: (обязательный) определяет предполагаемое использование открытого ключа; определены следующие значения:
- "sig" - подпись (открытый ключ проверки цифровой подписи данных),
- "enc" - шифрование (открытый ключ вычисления ключа зашифрования/расшифрования данных);
- <key_ops>: (опциональный) идентифицирует операции, для которых предполагается использовать ключ; определены следующие значения этого параметра:
- "sign" - вычисление цифровой подписи или кода аутентификации сообщений,
- "verify" - проверка цифровой подписи или кода аутентификации сообщений,
- "encrypt" - шифрование контента,
- "decrypt" - расшифрование контента и проверка расшифрованного, если возможно,
- "wrapKey" - шифрование ключа,
- "unwrapKey" - расшифрование ключа и проверка расшифрованного, если возможно,
- "deriveKey" - вычисление производного ключа,
- "deriveBits" - вычисление производных битов не для использования в качестве ключа;
- <alg>: (опциональный) идентифицирует криптографический алгоритм, в котором предполагается использование ключа (подраздел 9.1 [5]);
- <kid>: (опциональный) идентификатор ключа;
- <x5u>: (опциональный) URI, который ссылается на ресурс сертификата формата X.509 или цепочки сертификатов ключа проверки цифровой подписи JWS; данный ресурс должен содержать представление сертификата или цепочки сертификатов в соответствии RFC 5280 [44] в PEM-кодировании; сертификат ключа проверки цифровой подписи JWS должен быть первым сертификатом; в цепочке сертификатов каждый последующий сертификат должен использоваться для сертификации предыдущего; получатель должен проверить цепочку сертификатов в соответствии с RFC 5280 [44], считать сертификат или цепочку сертификатов и подпись JWS недействительными в случае отрицательного результата проверки; для получения ресурса должен использоваться HTTP-запрос GET и протокол TLS;
- <x5c>: (опциональный) сертификат формата X.509 или цепочка сертификатов проверки цифровой подписи JWS; сертификат или цепочка сертификатов представлены в виде JSON-массива строк значений сертификата; каждая строка массива содержит кодировку Base64 (раздел 4 RFC 4648 [20], не подлежит применению Base64url-кодирование) значение DER-представления сертификата формата X.509; сертификат ключа проверки цифровой подписи JWS должен быть первым сертификатом; в цепочке сертификатов каждый последующий сертификат должен использоваться для сертификации предыдущего; получатель должен проверить цепочку сертификатов в соответствии с RFC 5280 [44], считать сертификат или цепочку сертификатов и подпись JWS недействительными в случае отрицательного результата проверки;
- <x5t#St256>: (опциональный) отпечаток сертификата открытого ключа; представляет собой Base64url-представление 256-битного значения хэш-функции ГОСТ Р 34.11-2012 [12], вычисленной для DER-кодирования X.509 сертификата открытого ключа.
В зависимости от типа ключа <kty> в состав структуры JWK включаются также другие специфические параметры.
Подробное описание JWK для российских криптографических алгоритмов приведено в подразделе 9.5 [5].
5.7.3.3. JSON структура набора ключей JWK Set состоит из одного параметра <keys>, который является JSON-массивом ключей в формате JWK.
5.7.3.4. Документ Key Set, на который указывает значение параметра <jwks_uri> метаданных сервера авторизации (подпункт 5.4.4.1), содержит ключ(и) проверки подписи сервера авторизации в формате JWK Set. Он также может содержать открытые ключи, с помощью которых вырабатывается общий ключ шифрования запросов к серверу авторизации. Набор Key Set, на который указывает значение параметра <jwks_uri> метаданных клиента (подпункт 5.4.4.3), содержит ключ(и) проверки подписи клиента. Он также может содержать открытые ключи, с помощью которых вырабатывается общий ключ шифрования запросов к клиенту.
Если в наборе Key Set присутствуют как ключи проверки подписи, так и ключи шифрования, в структуре JWK каждого ключа должно быть указано значение параметра <use>. Не допускается использование одного и того же ключа как для целей подписи, так и для шифрования. Параметр JWK <x5c> может использоваться для предоставления ключей в формате сертификата X.509. В этом случае значение открытого ключа также должно присутствовать в составе JWK и должно совпадать со значением в сертификате.
1. Дополнительная информация о структурах JWK и JWK Set приведена в RFC 7517 [47].
2. Точная структура JWK и JWK Set определяется на этапе разработки сервера авторизации и клиента.
- Гражданский кодекс (ГК РФ)
- Жилищный кодекс (ЖК РФ)
- Налоговый кодекс (НК РФ)
- Трудовой кодекс (ТК РФ)
- Уголовный кодекс (УК РФ)
- Бюджетный кодекс (БК РФ)
- Арбитражный процессуальный кодекс
- Конституция РФ
- Земельный кодекс (ЗК РФ)
- Лесной кодекс (ЛК РФ)
- Семейный кодекс (СК РФ)
- Уголовно-исполнительный кодекс
- Уголовно-процессуальный кодекс
- Производственный календарь на 2025 год
- МРОТ 2024
- ФЗ «О банкротстве»
- О защите прав потребителей (ЗОЗПП)
- Об исполнительном производстве
- О персональных данных
- О налогах на имущество физических лиц
- О средствах массовой информации
- Производственный календарь на 2024 год
- Федеральный закон "О полиции" N 3-ФЗ
- Расходы организации ПБУ 10/99
- Минимальный размер оплаты труда (МРОТ)
- Календарь бухгалтера на 2024 год
- Частичная мобилизация: обзор новостей