Крипто-ключ
Описывает все свойства данного крипто-ключа. Данный плагин нужен для получения уже существующих, а также генерации ключей, которые в дальнейшем могут быть использованы для подписи данных.
- Тип: object. Обязательны:
name. Наличие дополнительных свойств: Недопустимо.name: Тип: string. Дополнительно: Имя экземпляра плагина. Имя хранилища. Имя используется для того, чтобы в дальнейшем ссылаться на данный ключ. Минимальная длина: 1.
Допустим один из вариантов конфига
Конфигурация jwk крипто-ключа.
- Тип: object. Конфигурация jwk крипто-ключа. Служит для задания свойств крипто-ключа. Обязательны:
type,config. Наличие дополнительных свойств: Недопустимо.type: Константа: jwk. Тип крипто-ключа. Необходим, чтобы дать Aureole понять, какой из крипто-ключей использовать.config: Тип: object. Конфигурация крипто-ключа. Описывает все свойства данного крипто-ключа. Наличие дополнительных свойств: Недопустимо.Допустим один из вариантов конфига
- Обязательны:
storage.storage: Тип: string. Дополнительно: Ссылка на экземпляр плагина хранилища ключей. Имя хранилища. Хранилище для чтения и записи ключей. Минимальная длина: 1.refresh_interval: Тип: number. Дополнительно: Единицы измерения: s. Значение по-умолчанию: 86400. Интервал обновления ключей. Время в секундах, по прошествии которого Aureole будет обновлять ключи. Минимальное значение: 0.retries_num: Тип: integer. Количество повторений запроса. Максимальное количество повторений запроса, которое будет совершать плагин в случае возникновения ошибки при рефреше ключа. Минимальное значение: 1.retry_interval: Тип: number. Интервал между запросами. Время, которое будет ждать плагин, перед тем, как совершить очередную попытку сделать запрос на рефреш ключа. Минимальное значение: 0.1.
- Обязательны:
storage,kty,alg,size,kid.storage: Тип: string. Дополнительно: Ссылка на экземпляр плагина хранилища ключей. Имя хранилища. Хранилище для чтения и записи ключей. Минимальная длина: 1.refresh_interval: Тип: number. Дополнительно: Единицы измерения: s. Значение по-умолчанию: 86400. Интервал обновления ключей. Время в секундах, по прошествии которого Aureole будет обновлять ключи. Минимальное значение: 0.retries_num: Тип: integer. Количество повторений запроса. Максимальное количество повторений запроса, которое будет совершать плагин в случае возникновения ошибки при рефреше ключа. Минимальное значение: 1.retry_interval: Тип: number. Интервал между запросами. Время, которое будет ждать плагин, перед тем, как совершить очередную попытку сделать запрос на рефреш ключа. Минимальное значение: 0.1.kty: Допускаются следующие значения:RSA,oct. Тип ключа. Тип семейства криптографических алгоритмов использованных для ключа.use: Допускаются следующие значения:enc,sig. Предназначение ключа. Определяет, для чего должен использовать ключ':' подписи или шифрования.alg: Допускаются следующие значения:RS256,RS384,RS512,RSA-OAEP,RSA-OAEP-256,PS256,PS384,PS512,HS256,HS384,HS512. Алгоритм ключа. Определяет алгоритм, предназначенный для использования с ключом.size: Тип: integer. Размер ключа. Размер генерируемого ключа. Минимальное значение: 512.kid: Идентификатор ключа. Метод генерации идентификатора ключа или сам идентификатор.Допустим любой из вариантов конфига
- Допускаются следующие значения:
SHA-256,SHA-1. - Тип: string. Минимальная длина: 1.
- Допускаются следующие значения:
- Обязательны:
storage,kty,alg,curve,kid.storage: Тип: string. Дополнительно: Ссылка на экземпляр плагина хранилища ключей. Имя хранилища. Хранилище для чтения и записи ключей. Минимальная длина: 1.refresh_interval: Тип: integer. Дополнительно: Единицы измерения: ms. Значение по-умолчанию: 3600000. Интервал обновления ключей. Время в секундах, по прошествии которого Aureole будет обновлять ключи. Минимальное значение: 0.retries_num: Тип: integer. Количество повторений запроса. Максимальное количество повторений запроса, которое будет совершать плагин в случае возникновения ошибки при рефреше ключа. Минимальное значение: 1.retry_interval: Тип: integer. Дополнительно: Единицы измерения: ms. Интервал между запросами. Время, которое будет ждать плагин, перед тем, как совершить очередную попытку сделать запрос на рефреш ключа. Минимальное значение: 1.kty: Допускаются следующие значения:EC,OKP. Тип ключа. Тип семейства криптографических алгоритмов использованных для ключа.use: Допускаются следующие значения:enc,sig. Предназначение ключа. Определяет, для чего должен использовать ключ':' подписи или шифрования.alg: Допускаются следующие значения:ES256,ES384,ES512,ES256K,EdDSA. Алгоритм ключа. Определяет алгоритм, предназначенный для использования с ключом.curve: Допускаются следующие значения:P-256,P-384,P-512,Ed25519,Ed448,X25519,X448. Тип кривой. Тип кривой, используемой для генерации ключа.kid: Идентификатор ключа. Метод генерации идентификатора ключа или сам идентификатор.Допустим любой из вариантов конфига
- Допускаются следующие значения:
SHA-256,SHA-1. - Тип: string. Минимальная длина: 1.
- Допускаются следующие значения:
- Обязательны:
Пример конфига
crypto_keys: # load keys from file - type: "jwk" name: jwk_file config: refresh_interval: 3600 storage: jwk_keys_store # load keys from url - type: "jwk" name: jwk_url config: refresh_interval: 3600 storage: google_keys_store # generate keys and save to vault - type: "jwk" name: jwk_gen_vault config: kty: RSA alg: RS256 size: 2048 kid: SHA-256 refresh_interval: 3600 storage: vault_keys_store1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
Конфигурация pem крипто-ключа.
- Тип: object. Конфигурация pem крипто-ключа. Служит для задания свойств крипто-ключа. Обязательны:
type,config. Наличие дополнительных свойств: Недопустимо.type: Константа: pem. Тип крипто-ключа. Необходим, чтобы дать Aureole понять, какой из крипто-ключей использовать.config: Тип: object. Конфигурация крипто-ключа. Описывает все свойства данного крипто-ключа. Обязательны:alg,storage. Наличие дополнительных свойств: Недопустимо.alg: Тип: string. Алгоритм ключа. Описывает алгоритм ключа, хранящегося по данному пути. Минимальная длина: 1.storage: Тип: string. Дополнительно: Ссылка на экземпляр плагина хранилища ключей. Имя хранилища. Хранилище для чтения и записи ключей. Минимальная длина: 1.refresh_interval: Тип: integer. Дополнительно: Единицы измерения: ms. Значение по-умолчанию: 3600000. Интервал обновления ключей. Время в секундах, по прошествии которого Aureole будет обновлять ключи. Минимальное значение: 0.retries_num: Тип: integer. Количество повторений запроса. Максимальное количество повторений запроса, которое будет совершать плагин в случае возникновения ошибки при рефреше ключа. Минимальное значение: 1.retry_interval: Тип: integer. Дополнительно: Единицы измерения: ms. Интервал между запросами. Время, которое будет ждать плагин, перед тем, как совершить очередную попытку сделать запрос на рефреш ключа. Минимальное значение: 1.
Пример конфига
crypto_keys: - type: "pem" name: pem_key config: alg: ES256 refresh_interval: 3600 storage: pem_keys_store1
2
3
4
5
6
7