Крипто-ключ
Описывает все свойства данного крипто-ключа. Данный плагин нужен для получения уже существующих, а также генерации ключей, которые в дальнейшем могут быть использованы для подписи данных.
- Тип: 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_store
1
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_store
1
2
3
4
5
6
7