secrets

GET /cubbyhole/{path}

ID операции: cubbyhole-read

Получить секрет по указанному пути.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.
liststringqueryнетВернуть список, если true

Ответы

200: OK

POST /cubbyhole/{path}

ID операции: cubbyhole-write

Сохранить секрет по указанному пути.

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.

Ответы

200: OK

DELETE /cubbyhole/{path}

ID операции: cubbyhole-delete

Удаляет секрет по указанному пути.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.

Ответы

204: пустое тело

GET /{database_mount_path}/config

ID операции: database-list-connections

Настроить параметры подключения к плагину базы данных.

Параметры

ПараметрТипРасположениеОбязательныйОписание
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{database_mount_path}/config/{name}

ID операции: database-read-connection-configuration

Настроить параметры подключения к плагину базы данных.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя этого подключения к базе данных
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{database_mount_path}/config/{name}

ID операции: database-configure-connection

Настроить параметры подключения к плагину базы данных.

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя этого подключения к базе данных
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
allowed_rolesarrayнетСтрока через запятую или массив имен ролей, которым разрешено получать учетные данные через это подключение к базе данных. Если пусто, не разрешено ни одной роли. Если “*”, разрешено всем ролям.
password_policystringнетПолитика паролей для генерации паролей.
plugin_namestringнетИмя встроенного или ранее зарегистрированного плагина, известного Stronghold. Эта конечная точка создаст экземпляр плагина этого типа.
plugin_versionstringнетВерсия используемого плагина.
root_rotation_statementsarrayнетВыражения (statements) базы данных, выполняемые для ротации учетных данных root-пользователя. Подробнее о поддержке и формате этого параметра см. на странице API плагина.
verify_connectionboolean (default: True)нетЕсли true, параметры подключения проверяются реальным подключением к базе данных. По умолчанию true.

Ответы

200: OK

DELETE /{database_mount_path}/config/{name}

ID операции: database-delete-connection-configuration

Настроить параметры подключения к плагину базы данных.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя этого подключения к базе данных
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{database_mount_path}/creds/{name}

ID операции: database-generate-credentials

Запросить учетные данные базы данных для указанной роли.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли.
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{database_mount_path}/reset/{name}

ID операции: database-reset-connection

Сбрасывает плагин базы данных.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя этого подключения к базе данных
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{database_mount_path}/roles

ID операции: database-list-roles

Управление ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{database_mount_path}/roles/{name}

ID операции: database-read-role

Управление ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли.
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{database_mount_path}/roles/{name}

ID операции: database-write-role

Управление ролями, которые можно создавать с помощью этого бэкенда.

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли.
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
creation_statementsarrayнетВыражения (statements) базы данных, выполняемые для создания и настройки пользователя. Подробнее о поддержке и формате этого параметра см. на странице API плагина.
credential_configobjectнетКонфигурация для указанного credential_type.
credential_typestring (default: password)нетТип управляемых учетных данных. Возможные значения: ‘password’, ‘rsa_private_key’. По умолчанию ‘password’.
db_namestringнетИмя базы данных, к которой относится эта роль.
default_ttlintegerнетTTL роли по умолчанию.
max_ttlintegerнетМаксимальный срок действия учетных данных
renew_statementsarrayнетВыражения (statements) базы данных, выполняемые для продления пользователя. Поддерживается не всеми типами плагинов. Подробнее о поддержке и формате этого параметра см. на странице API плагина.
revocation_statementsarrayнетВыражения (statements) базы данных, выполняемые для отзыва пользователя. Подробнее о поддержке и формате этого параметра см. на странице API плагина.
rollback_statementsarrayнетВыражения (statements) базы данных, выполняемые для отката операции создания в случае ошибки. Поддерживается не всеми типами плагинов. Подробнее о поддержке и формате этого параметра см. на странице API плагина.

Ответы

200: OK

DELETE /{database_mount_path}/roles/{name}

ID операции: database-delete-role

Управление ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли.
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

POST /{database_mount_path}/rotate-role/{name}

ID операции: database-rotate-static-role-credentials

Запросить ротацию учетных данных статической учетной записи пользователя.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя статической роли
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{database_mount_path}/rotate-root/{name}

ID операции: database-rotate-root-credentials

Запросить ротацию учетных данных root для указанного подключения к базе данных.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя этого подключения к базе данных
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{database_mount_path}/static-creds/{name}

ID операции: database-read-static-role-credentials

Запросить учетные данные базы данных для указанной статической роли. Эти учетные данные периодически ротируются.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя статической роли.
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{database_mount_path}/static-roles

ID операции: database-list-static-roles

Управление статическими ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{database_mount_path}/static-roles/{name}

ID операции: database-read-static-role

Управление статическими ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли.
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{database_mount_path}/static-roles/{name}

ID операции: database-write-static-role

Управление статическими ролями, которые можно создавать с помощью этого бэкенда.

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли.
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
credential_configobjectнетКонфигурация для указанного credential_type.
credential_typestring (default: password)нетТип управляемых учетных данных. Возможные значения: ‘password’, ‘rsa_private_key’. По умолчанию ‘password’.
db_namestringнетИмя базы данных, к которой относится эта роль.
rotation_periodintegerнетПериод автоматической ротации учетных данных для указанного имени пользователя. Действует только вместе с “username”.
rotation_statementsarrayнетВыражения (statements) базы данных, выполняемые для ротации учетных данных учетной записи. Поддерживается не всеми типами плагинов. Подробнее о поддержке и формате этого параметра см. на странице API плагина.
usernamestringнетИмя статической учетной записи пользователя, которой управляет Stronghold. Требует указания “rotation_period”

Ответы

200: OK

DELETE /{database_mount_path}/static-roles/{name}

ID операции: database-delete-static-role

Управление статическими ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли.
database_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

POST /{gitops_mount_path}/configure/git_credential

ID операции: gitops-write-configure-git_credential

Настроить учетные данные Git

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
passwordstringнетПароль Git; обязателен для CREATE, UPDATE.
usernamestringнетИмя пользователя Git; обязательно для CREATE, UPDATE.

Ответы

200: OK

DELETE /{gitops_mount_path}/configure/git_credential

ID операции: gitops-delete-configure-git_credential

Настроить учетные данные Git

Параметры

ПараметрТипРасположениеОбязательныйОписание
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{gitops_mount_path}/configure/git_repository

ID операции: gitops-read-configure-git_repository

Прочитать текущую конфигурацию git_repository для gitops.

Параметры

ПараметрТипРасположениеОбязательныйОписание
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{gitops_mount_path}/configure/git_repository

ID операции: gitops-write-configure-git_repository

Обновить текущую конфигурацию git_repository для gitops.

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
git_branch_namestring (default: main)нетВетка Git-репозитория
git_ca_certificatestringнетCA Git. По умолчанию пусто.
git_poll_periodinteger (default: 5m)нетИнтервал между опросами Git-репозитория
git_repo_urlstringнетURL Git-репозитория. Обязателен для CREATE.
max_clone_size_bytesinteger (default: 10485760)нетМаксимальный размер (в байтах) клона в памяти; при превышении клонирование завершается ошибкой (0 = без ограничения). Защита от OOM на больших или вредоносных репозиториях.
required_number_of_verified_signatures_on_commitinteger (default: 0)нетПроверять, что у коммита достаточно верифицированных подписей

Ответы

200: OK

DELETE /{gitops_mount_path}/configure/git_repository

ID операции: gitops-delete-configure-git_repository

Удалить текущую конфигурацию git_repository для gitops.

Параметры

ПараметрТипРасположениеОбязательныйОписание
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{gitops_mount_path}/configure/gitops

ID операции: gitops-read-configure-gitops

Прочитать конфигурацию gitops.

Параметры

ПараметрТипРасположениеОбязательныйОписание
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{gitops_mount_path}/configure/gitops

ID операции: gitops-write-configure-gitops

Обновить конфигурацию gitops.

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
pathstring (default: )нетПуть к YAML-файлам в репозитории (например, stronghold или пусто для корня).

Ответы

200: OK

DELETE /{gitops_mount_path}/configure/gitops

ID операции: gitops-delete-configure-gitops

Удалить конфигурацию gitops.

Параметры

ПараметрТипРасположениеОбязательныйОписание
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{gitops_mount_path}/configure/trusted_pgp_public_key

ID операции: gitops-list-configure-trusted_pgp_public_key

Получить список доверенных открытых ключей PGP

Параметры

ПараметрТипРасположениеОбязательныйОписание
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{gitops_mount_path}/configure/trusted_pgp_public_key/{name}

ID операции: gitops-read-configure-trusted_pgp_public_key-name

CRUD-операции для доверенного открытого ключа PGP

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{gitops_mount_path}/configure/trusted_pgp_public_key/{name}

ID операции: gitops-write-configure-trusted_pgp_public_key-name

CRUD-операции для доверенного открытого ключа PGP

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
public_keystringнетДанные ключа (обязательны для CREATE/UPDATE)

Ответы

200: OK

DELETE /{gitops_mount_path}/configure/trusted_pgp_public_key/{name}

ID операции: gitops-delete-configure-trusted_pgp_public_key-name

CRUD-операции для доверенного открытого ключа PGP

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{gitops_mount_path}/configure/vault

ID операции: gitops-read-configure-vault

Прочитать текущую конфигурацию клиента Stronghold.

Параметры

ПараметрТипРасположениеОбязательныйОписание
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{gitops_mount_path}/configure/vault

ID операции: gitops-write-configure-vault

Обновить текущую конфигурацию клиента Stronghold.

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
rotateboolean (default: False)нетРотировать токен Stronghold.
vault_addrstringнетАдрес API Stronghold.
vault_cacert_bytesstringнетCA-сертификат в кодировке PEM для проверки TLS Stronghold.
vault_namespacestringнетПространство имен Stronghold для доступа к API.
vault_tokenstringнетТокен Stronghold для доступа к API.
wrapping_tokenstringнетОборачивающий токен Stronghold для доступа к API.

Ответы

200: OK

DELETE /{gitops_mount_path}/configure/vault

ID операции: gitops-delete-configure-vault

Удалить текущую конфигурацию клиента Stronghold.

Параметры

ПараметрТипРасположениеОбязательныйОписание
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{gitops_mount_path}/status

ID операции: gitops-read-status

Прочитать текущий статус

Параметры

ПараметрТипРасположениеОбязательныйОписание
gitops_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{kubernetes_mount_path}/check

ID операции: kubernetes-check-configuration

Проверяет корректность конфигурации Kubernetes.

Параметры

ПараметрТипРасположениеОбязательныйОписание
kubernetes_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{kubernetes_mount_path}/config

ID операции: kubernetes-read-configuration

Настроить плагин механизма секретов Kubernetes.

Параметры

ПараметрТипРасположениеОбязательныйОписание
kubernetes_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{kubernetes_mount_path}/config

ID операции: kubernetes-configure

Настроить плагин механизма секретов Kubernetes.

Параметры

ПараметрТипРасположениеОбязательныйОписание
kubernetes_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
disable_local_ca_jwtboolean (default: False)нетНе использовать по умолчанию локальный CA-сертификат и JWT сервисного аккаунта при запуске в поде Kubernetes.
kubernetes_ca_certstringнетCA-сертификат в формате PEM для проверки сертификата API-сервера Kubernetes. По умолчанию используется CA локального пода, если он найден.
kubernetes_hoststringнетURL API Kubernetes для подключения. По умолчанию https://$KUBERNETES_SERVICE_HOST:KUBERNETES_SERVICE_PORT, если эти переменные окружения заданы.
service_account_jwtstringнетJSON Web Token сервисного аккаунта, с помощью которого механизм секретов управляет учетными данными Kubernetes. По умолчанию используется JWT локального пода, если он найден.

Ответы

200: OK

DELETE /{kubernetes_mount_path}/config

ID операции: kubernetes-delete-configuration

Настроить плагин механизма секретов Kubernetes.

Параметры

ПараметрТипРасположениеОбязательныйОписание
kubernetes_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

POST /{kubernetes_mount_path}/creds/{name}

ID операции: kubernetes-generate-credentials

Запросить учетные данные сервисного аккаунта Kubernetes для указанной роли Stronghold.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли Stronghold
kubernetes_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
audiencesarrayнетЦелевые аудитории (audiences) генерируемых учетных данных
cluster_role_bindingbooleanнетЕсли true, создает ClusterRoleBinding для предоставления прав по всему кластеру, а не внутри пространства имен. Требуется, чтобы роль Stronghold имела для kubernetes_role_type значение ClusterRole.
kubernetes_namespacestringдаИмя пространства имен Kubernetes, в котором генерируются учетные данные
ttlintegerнетTTL генерируемых учетных данных

Ответы

200: OK

GET /{kubernetes_mount_path}/roles

ID операции: kubernetes-list-roles

Получить список существующих ролей в этом механизме секретов.

Параметры

ПараметрТипРасположениеОбязательныйОписание
kubernetes_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{kubernetes_mount_path}/roles/{name}

ID операции: kubernetes-read-role

Управление ролями, которые можно создавать в этом механизме секретов.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли
kubernetes_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{kubernetes_mount_path}/roles/{name}

ID операции: kubernetes-write-role

Управление ролями, которые можно создавать в этом механизме секретов.

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли
kubernetes_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
allowed_kubernetes_namespace_selectorstringнетСелектор меток для пространств имен Kubernetes, в которых можно генерировать учетные данные. Принимает объект JSON или YAML. Если задан вместе с allowed_kubernetes_namespaces, условия объединяются через И.
allowed_kubernetes_namespacesarrayнетСписок пространств имен Kubernetes, в которых можно генерировать учетные данные. Значение “*” разрешает все пространства имен.
extra_annotationsobjectнетДополнительные аннотации для всех генерируемых объектов Kubernetes.
extra_labelsobjectнетДополнительные метки для всех генерируемых объектов Kubernetes.
generated_role_rulesstringнетПравила Role или ClusterRole, используемые при генерации роли. Принимает объект JSON или YAML. Если задан, генерируется вся цепочка объектов Kubernetes.
kubernetes_role_namestringнетСуществующий Role или ClusterRole, к которому привязывается сгенерированный сервисный аккаунт. Если задан, создаются объекты токена Kubernetes, сервисного аккаунта и привязки роли.
kubernetes_role_typestring (default: Role)нетТип роли Kubernetes: Role или ClusterRole.
name_templatestringнетШаблон имени для генерируемых сервисных аккаунтов, ролей и привязок ролей. Если не задан, используется шаблон по умолчанию.
service_account_namestringнетСуществующий сервисный аккаунт, для которого генерируются токены. Несовместим со всеми параметрами роли. Если задан, создается только токен сервисного аккаунта Kubernetes.
token_default_audiencesarrayнетАудитории (audiences) по умолчанию для генерируемых токенов сервисных аккаунтов Kubernetes. Если не задано или равно “”, используется значение кластера Kubernetes по умолчанию.
token_default_ttlintegerнетTTL по умолчанию для генерируемых токенов сервисных аккаунтов Kubernetes. Если не задан или равен 0, используется системное значение по умолчанию.
token_max_ttlintegerнетМаксимальный TTL для генерируемых токенов сервисных аккаунтов Kubernetes. Если не задан или равен 0, используется системное значение по умолчанию.

Ответы

200: OK

DELETE /{kubernetes_mount_path}/roles/{name}

ID операции: kubernetes-delete-role

Управление ролями, которые можно создавать в этом механизме секретов.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли
kubernetes_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{kv_v1_mount_path}/{path}

ID операции: kv-v1-read

Сквозное хранилище секретов в бэкенде хранилища, позволяющее читать и записывать произвольные данные.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.
kv_v1_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststringqueryнетВернуть список, если true

Ответы

200: OK

POST /{kv_v1_mount_path}/{path}

ID операции: kv-v1-write

Сквозное хранилище секретов в бэкенде хранилища, позволяющее читать и записывать произвольные данные.

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.
kv_v1_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: No Content

DELETE /{kv_v1_mount_path}/{path}

ID операции: kv-v1-delete

Сквозное хранилище секретов в бэкенде хранилища, позволяющее читать и записывать произвольные данные.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.
kv_v1_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: No Content

GET /{kv_v2_mount_path}/config

ID операции: kv-v2-read-configuration

Прочитать настройки уровня бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
kv_v2_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
cas_requiredbooleanнетЕсли true, бэкенд требует указания параметра cas при каждой записи
delete_version_afterintegerнетВремя до удаления версии.
max_versionsintegerнетКоличество хранимых версий для каждого ключа.

POST /{kv_v2_mount_path}/config

ID операции: kv-v2-configure

Настроить параметры уровня бэкенда, применяемые к каждому ключу в хранилище «ключ — значение».

Параметры

ПараметрТипРасположениеОбязательныйОписание
kv_v2_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
cas_requiredbooleanнетЕсли true, бэкенд требует указания параметра cas при каждой записи
delete_version_afterintegerнетЕсли задано, время до удаления версии. Отрицательное значение отключает delete_version_after для всех ключей. Нулевое значение сбрасывает текущую настройку. Принимает строку длительности в формате Go.
max_versionsintegerнетКоличество хранимых версий для каждого ключа. По умолчанию 10

Ответы

204: No Content

GET /{kv_v2_mount_path}/data/{path}

ID операции: kv-v2-read

Запись, частичное обновление (patch), чтение и удаление данных в хранилище «ключ — значение».

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.
kv_v2_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
dataobjectнет
metadataobjectнет

POST /{kv_v2_mount_path}/data/{path}

ID операции: kv-v2-write

Запись, частичное обновление (patch), чтение и удаление данных в хранилище «ключ — значение».

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.
kv_v2_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
dataobjectнетСодержимое карты data сохраняется и возвращается при чтении.
optionsobjectнетПараметры записи в KV. Укажите значение “cas”, чтобы использовать операцию Check-And-Set. Если не указано, запись разрешена. Если 0, запись разрешена, только если ключ не существует. Если значение ненулевое, запись разрешена, только если текущая версия ключа совпадает с версией, указанной в параметре cas.
override_versionintegerнетТолько репликация!!!!!!!!
versionintegerнетЕсли указано при чтении, возвращается значение указанной версии

Ответы

200: OK

ПараметрТипОбязательныйОписание
created_timestringнет
custom_metadataobjectнет
deletion_timestringнет
destroyedbooleanнет
versionintegerнет

DELETE /{kv_v2_mount_path}/data/{path}

ID операции: kv-v2-delete

Запись, частичное обновление (patch), чтение и удаление данных в хранилище «ключ — значение».

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.
kv_v2_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: No Content

POST /{kv_v2_mount_path}/delete/{path}

ID операции: kv-v2-delete-versions

Помечает одну или несколько версий как удаленные в хранилище KV.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.
kv_v2_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
versionsarrayнетВерсии, которые нужно пометить как удаленные. Данные версий не удаляются физически, но больше не возвращаются в обычных GET-запросах.

Ответы

204: No Content

POST /{kv_v2_mount_path}/destroy/{path}

ID операции: kv-v2-destroy-versions

Безвозвратно удаляет одну или несколько версий в хранилище KV

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.
kv_v2_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
versionsarrayнетВерсии, которые нужно уничтожить. Их данные будут удалены безвозвратно.

Ответы

204: No Content

GET /{kv_v2_mount_path}/metadata/{path}

ID операции: kv-v2-read-metadata

Настроить параметры хранилища KV

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.
kv_v2_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststringqueryнетВернуть список, если true

Ответы

200: OK

ПараметрТипОбязательныйОписание
cas_requiredbooleanнет
created_timestringнет
current_versionintegerнет
custom_metadataobjectнетПользовательские пары «ключ — значение» для описания произвольной информации о секрете, не зависящей от версии.
delete_version_afterintegerнетВремя до удаления версии.
last_sync_timestringнет
max_versionsintegerнетКоличество хранимых версий
oldest_versionintegerнет
updated_timestringнет
versionsobjectнет

POST /{kv_v2_mount_path}/metadata/{path}

ID операции: kv-v2-write-metadata

Настроить параметры хранилища KV

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.
kv_v2_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
cas_requiredbooleanнетЕсли true, для ключа требуется указание параметра cas во всех запросах на запись. Если false, используется конфигурация бэкенда.
custom_metadataobjectнетПользовательские пары «ключ — значение» для описания произвольной информации о секрете, не зависящей от версии.
delete_version_afterintegerнетВремя до удаления версии. Если не задано, используется значение delete_version_after из конфигурации бэкенда. Не может превышать delete_version_after бэкенда. Нулевое значение сбрасывает текущую настройку. Отрицательное значение приводит к ошибке.
max_versionsintegerнетКоличество хранимых версий. Если не задано, используется максимальное количество версий из конфигурации бэкенда.

Ответы

204: No Content

DELETE /{kv_v2_mount_path}/metadata/{path}

ID операции: kv-v2-delete-metadata

Настроить параметры хранилища KV

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.
kv_v2_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: No Content

GET /{kv_v2_mount_path}/subkeys/{path}

ID операции: kv-v2-read-subkeys

Прочитать структуру записи секрета из хранилища «ключ — значение» без значений.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.
kv_v2_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
metadataobjectнет
subkeysobjectнет

POST /{kv_v2_mount_path}/undelete/{path}

ID операции: kv-v2-undelete-versions

Отменяет удаление одной или нескольких версий в хранилище KV.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть к секрету.
kv_v2_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
versionsarrayнетВерсии, удаление которых нужно отменить. Версии будут восстановлены, и их данные снова будут возвращаться в обычных GET-запросах.

Ответы

204: No Content

GET /{ldap_mount_path}/config

ID операции: ldap-read-configuration

Настроить плагин механизма секретов LDAP.

Параметры

ПараметрТипРасположениеОбязательныйОписание
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{ldap_mount_path}/config

ID операции: ldap-configure

Настроить плагин механизма секретов LDAP.

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
anonymous_group_searchboolean (default: False)нетИспользовать анонимную привязку (bind) при поиске групп LDAP (если true, исходные учетные данные все равно используются для первичной проверки подключения).
binddnstringнетLDAP DN для поиска DN пользователя (необязательно)
bindpassstringнетПароль LDAP для поиска DN пользователя (необязательно)
case_sensitive_namesbooleanнетЕсли true, при сопоставлении имен пользователей и групп с политиками учитывается регистр.
certificatestringнетCA-сертификат для проверки сертификата LDAP-сервера в формате x509 PEM (необязательно)
client_tls_certstringнетКлиентский сертификат, предъявляемый LDAP-серверу, в формате x509 PEM (необязательно)
client_tls_keystringнетКлюч клиентского сертификата, предъявляемого LDAP-серверу, в формате x509 PEM (необязательно)
connection_timeoutinteger (default: 30s)нетТайм-аут в секундах на подключение к LDAP-серверу, после которого выполняется попытка подключиться по следующему URL из конфигурации.
credential_typestring (default: 1)нетТип управляемых учетных данных. Возможные значения: ‘password’, ‘phrase’. По умолчанию ‘password’.
deny_null_bindboolean (default: True)нет⚠️ Устарело. Отклонять неаутентифицированный запрос привязки (bind) к LDAP, если пароль пользователя пуст; по умолчанию true
dereference_aliasesstring (never, finding, searching, always) (default: never)нетКогда разыменовывать псевдонимы (aliases) при поиске. Допустимые значения: ’never’, ‘finding’, ‘searching’, ‘always’. По умолчанию ’never’.
discoverdnbooleanнетИспользовать анонимную привязку (bind) для определения bind DN пользователя (необязательно)
enable_samaccountname_loginboolean (default: False)нетЕсли true и задан upndomain, вход также разрешается по совпадающим значениям атрибута sAMAccountName.
groupattrstring (default: cn)нетАтрибут LDAP объектов, возвращаемых , по которому определяется членство пользователя в группах. Примеры: “cn”, “memberOf” и т. д. По умолчанию: cn
groupdnstringнетБаза поиска LDAP для поиска членства в группах (например, ou=Groups,dc=example,dc=org)
groupfilterstring (default: (|(memberUid={{.Username}})(member={{.UserDN}})(uniqueMember={{.UserDN}})))нетШаблон Go для запроса членства пользователя в группах (необязательно). В шаблоне доступны переменные контекста: UserDN, Username. Пример: (&(objectClass=group)(member:1.2.840.113556.1.4.1941:={{.UserDN}})). По умолчанию: (|(memberUid={{.Username}})(member={{.UserDN}})(uniqueMember={{.UserDN}}))
insecure_tlsbooleanнетПропустить проверку SSL-сертификата LDAP-сервера — ОЧЕНЬ небезопасно (необязательно)
lengthintegerнет⚠️ Устарело. Желаемая длина паролей, генерируемых Stronghold.
max_page_sizeinteger (default: 0)нетЕсли задано значение больше 0, бэкенд LDAP использует постраничный поиск (paged search control) LDAP-сервера и запрашивает страницы не больше указанного размера. Это позволяет не упираться в ограничение LDAP-сервера на максимальный размер результата. Иначе постраничный поиск не используется.
max_ttlintegerнетМаксимальное время жизни пароля.
password_policystringнетПолитика паролей для генерации паролей
request_timeoutinteger (default: 90s)нетТайм-аут в секундах для запросов к серверу, по истечении которого возвращается ошибка.
schemastring (default: openldap)нетСхема LDAP, используемая при изменении паролей учетных записей пользователей.
skip_static_role_import_rotationbooleanнетПропускать ли ротацию при импорте (‘import’).
starttlsbooleanнетВыполнять команду StartTLS после установки незашифрованного соединения (необязательно)
tls_max_versionstring (tls10, tls11, tls12, tls13) (default: tls12)нетМаксимальная версия TLS. Допустимые значения: ’tls10’, ’tls11’, ’tls12’ или ’tls13’. По умолчанию ’tls12’
tls_min_versionstring (tls10, tls11, tls12, tls13) (default: tls12)нетМинимальная версия TLS. Допустимые значения: ’tls10’, ’tls11’, ’tls12’ или ’tls13’. По умолчанию ’tls12’
ttlintegerнетВремя жизни пароля по умолчанию.
upndomainstringнетРазрешает вход по userPrincipalName в формате [username]@UPNDomain (необязательно)
urlstring (default: ldap://127.0.0.1)нетURL LDAP-сервера для подключения (по умолчанию ldap://127.0.0.1). Можно указать несколько URL через запятую; они будут перебираться по порядку.
use_pre111_group_cn_behaviorbooleanнетВ Vault 1.1.1 исправление обработки значений CN групп в разном регистре, к сожалению, привело к регрессии: ранее определенные группы могли не находиться из-за изменения итогового имени. Если true, для сопоставления CN групп используется поведение до версии 1.1.1. Это требуется только в некоторых сценариях обновления для обратной совместимости. По умолчанию включено для обновленных конфигураций и отключено для новых.
use_token_groupsboolean (default: False)нетЕсли true, для поиска членства в группах используется вычисляемый атрибут пользователя tokenGroups в Active Directory. Так находятся все группы безопасности, включая вложенные.
userattrstring (default: cn)нетАтрибут, используемый для пользователей (по умолчанию: cn)
userdnstringнетДомен LDAP для пользователей (например, ou=People,dc=example,dc=org)
userfilterstring (default: ({{.UserAttr}}={{.Username}}))нетШаблон Go для фильтра поиска пользователей LDAP (необязательно). В шаблоне доступны переменные контекста: UserAttr, Username. По умолчанию: ({{.UserAttr}}={{.Username}})
username_as_aliasboolean (default: False)нетЕсли true, в качестве имени псевдонима используется имя пользователя

Ответы

200: OK

DELETE /{ldap_mount_path}/config

ID операции: ldap-delete-configuration

Настроить плагин механизма секретов LDAP.

Параметры

ПараметрТипРасположениеОбязательныйОписание
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{ldap_mount_path}/creds/{name}

ID операции: ldap-request-dynamic-role-credentials

Запросить учетные данные LDAP для динамической роли. Учетные данные создаются в LDAP при обращении к этой конечной точке.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя динамической роли.
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{ldap_mount_path}/library

ID операции: ldap-library-list

Получить список имен всех хранимых наборов сервисных аккаунтов.

Параметры

ПараметрТипРасположениеОбязательныйОписание
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

POST /{ldap_mount_path}/library/manage/{name}/check-in

ID операции: ldap-library-force-check-in

Вернуть сервисные аккаунты в библиотеку.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя набора.
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
service_account_namesarrayнетИмена пользователей (логины) возвращаемых сервисных аккаунтов.

Ответы

200: OK

GET /{ldap_mount_path}/library/{name}

ID операции: ldap-library-read

Прочитать набор библиотеки.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя набора.
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{ldap_mount_path}/library/{name}

ID операции: ldap-library-configure

Обновить набор библиотеки.

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя набора.
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
disable_check_in_enforcementboolean (default: False)нетОтключить поведение по умолчанию, при котором вернуть аккаунт может только сущность, которая его взяла.
max_ttlinteger (default: 86400)нетМаксимальная суммарная длительность продлений выдачи в секундах. По умолчанию 24 часа.
service_account_namesarrayнетИмена пользователей (логины) сервисных аккаунтов, с которыми связывается этот набор.
ttlinteger (default: 86400)нетДлительность выдачи в секундах. По умолчанию 24 часа.

Ответы

200: OK

DELETE /{ldap_mount_path}/library/{name}

ID операции: ldap-library-delete

Удалить набор библиотеки.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя набора.
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

POST /{ldap_mount_path}/library/{name}/check-in

ID операции: ldap-library-check-in

Вернуть сервисные аккаунты в библиотеку.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя набора.
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
service_account_namesarrayнетИмена пользователей (логины) возвращаемых сервисных аккаунтов.

Ответы

200: OK

POST /{ldap_mount_path}/library/{name}/check-out

ID операции: ldap-library-check-out

Взять сервисный аккаунт из библиотеки.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя набора
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
ttlintegerнетВремя в секундах до истечения срока выдачи.

Ответы

200: OK

GET /{ldap_mount_path}/library/{name}/status

ID операции: ldap-library-check-status

Проверить статус сервисных аккаунтов в наборе библиотеки.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя набора.
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{ldap_mount_path}/library/{path}

ID операции: ldap-library-list-library-path

Получить список имен всех хранимых наборов сервисных аккаунтов.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть, по которому выводится список наборов
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{ldap_mount_path}/library{path}

ID операции: ldap-library-list-library-path

Получить список имен всех хранимых наборов сервисных аккаунтов.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть, по которому выводится список наборов
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{ldap_mount_path}/role

ID операции: ldap-list-dynamic-roles

Получить список всех динамических ролей, которыми Stronghold управляет в LDAP.

Параметры

ПараметрТипРасположениеОбязательныйОписание
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{ldap_mount_path}/role/{name}

ID операции: ldap-read-dynamic-role

Управление статическими ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли (в нижнем регистре)
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{ldap_mount_path}/role/{name}

ID операции: ldap-write-dynamic-role

Управление статическими ролями, которые можно создавать с помощью этого бэкенда.

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли (в нижнем регистре)
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
creation_ldifstringдаСтрока LDIF для создания новых записей в LDAP. Поддерживает шаблоны.
default_ttlintegerнетTTL по умолчанию для динамических учетных данных
deletion_ldifstringдаСтрока LDIF для удаления записей, созданных в LDAP. Поддерживает шаблоны.
max_ttlintegerнетМаксимальный TTL, до которого можно продлить динамические учетные данные
rollback_ldifstringнетСтрока LDIF для отката изменений при сбое создания учетных данных. Поддерживает шаблоны.
username_templatestringнетШаблон для формирования имени пользователя

Ответы

200: OK

DELETE /{ldap_mount_path}/role/{name}

ID операции: ldap-delete-dynamic-role

Управление статическими ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли (в нижнем регистре)
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{ldap_mount_path}/role/{path}

ID операции: ldap-list-role-path

Получить список всех динамических ролей, которыми Stronghold управляет в LDAP.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть, по которому выводится список ролей
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{ldap_mount_path}/role{path}

ID операции: ldap-list-role-path

Получить список всех динамических ролей, которыми Stronghold управляет в LDAP.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть, по которому выводится список ролей
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

POST /{ldap_mount_path}/rotate-role/{name}

ID операции: ldap-rotate-static-role

Запросить ротацию учетных данных статической учетной записи пользователя.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
dnstringнетОтличительное имя (DN) управляемой записи.
usernamestringнетИмя пользователя (логин) записи, с которой связывается эта роль.

Ответы

200: OK

POST /{ldap_mount_path}/rotate-root

ID операции: ldap-rotate-root-credentials

Запросить ротацию учетных данных root, которые Stronghold использует для учетной записи администратора LDAP.

Параметры

ПараметрТипРасположениеОбязательныйОписание
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{ldap_mount_path}/static-cred/{name}

ID операции: ldap-request-static-role-credentials

Запросить учетные данные LDAP для указанной статической роли. Эти учетные данные периодически ротируются.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя статической роли.
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{ldap_mount_path}/static-role

ID операции: ldap-list-static-roles

Выводит список всех статических ролей, которыми Stronghold управляет в LDAP.

Параметры

ПараметрТипРасположениеОбязательныйОписание
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{ldap_mount_path}/static-role/{name}

ID операции: ldap-read-static-role

Управление статическими ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{ldap_mount_path}/static-role/{name}

ID операции: ldap-write-static-role

Управление статическими ролями, которые можно создавать с помощью этого бэкенда.

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
dnstringнетОтличительное имя (DN) управляемой записи.
rotation_periodintegerнетПериод автоматической ротации учетных данных для этой записи.
skip_import_rotationbooleanнетПропустить начальную ротацию пароля при импорте (не влияет на обновление)
usernamestringнетИмя пользователя (логин) записи, с которой связывается эта роль.

Ответы

200: OK

DELETE /{ldap_mount_path}/static-role/{name}

ID операции: ldap-delete-static-role

Управление статическими ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{ldap_mount_path}/static-role/{path}

ID операции: ldap-list-static-role-path

Выводит список всех статических ролей, которыми Stronghold управляет в LDAP.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть, по которому выводится список ролей
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{ldap_mount_path}/static-role{path}

ID операции: ldap-list-static-role-path

Выводит список всех статических ролей, которыми Stronghold управляет в LDAP.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pathstringpathдаПуть, по которому выводится список ролей
ldap_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

POST /{pki_mount_path}/acme/account/{kid}

ID операции: pki-write-acme-account-kid

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
kidstringpathдаИдентификатор ключа, предоставленный CA
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/acme/authorization/{auth_id}

ID операции: pki-write-acme-authorization-auth_id

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
auth_idstringpathдаЗначение идентификатора авторизации ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/acme/challenge/{auth_id}/{challenge_type}

ID операции: pki-write-acme-challenge-auth_id-challenge_type

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
auth_idstringpathдаЗначение идентификатора авторизации ACME
challenge_typestringpathдаТип проверки (challenge) ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

GET /{pki_mount_path}/acme/directory

ID операции: pki-read-acme-directory

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{pki_mount_path}/acme/new-account

ID операции: pki-write-acme-new-account

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/acme/new-eab

ID операции: pki-generate-eab-key

Сгенерировать привязки внешних аккаунтов (EAB) для ACME

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
acme_directorystringнетКаталог ACME, которому принадлежит ключ
created_onstringнетДата и время создания токена EAB в формате RFC3339
idstringнетИдентификатор ключа EAB
keystringнетHMAC-ключ EAB
key_typestringнетТип ключа EAB

GET /{pki_mount_path}/acme/new-nonce

ID операции: pki-read-acme-new-nonce

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{pki_mount_path}/acme/new-order

ID операции: pki-write-acme-new-order

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/acme/order/{order_id}

ID операции: pki-write-acme-order-order_id

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
order_idstringpathдаИдентификатор запрашиваемого заказа ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/acme/order/{order_id}/cert

ID операции: pki-write-acme-order-order_id-cert

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
order_idstringpathдаИдентификатор запрашиваемого заказа ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/acme/order/{order_id}/finalize

ID операции: pki-write-acme-order-order_id-finalize

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
order_idstringpathдаИдентификатор запрашиваемого заказа ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/acme/orders

ID операции: pki-write-acme-orders

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/acme/revoke-cert

ID операции: pki-write-acme-revoke-cert

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

GET /{pki_mount_path}/ca

ID операции: pki-read-ca-der

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainstringнетЦепочка выдающего CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC 3339

GET /{pki_mount_path}/ca/pem

ID операции: pki-read-ca-pem

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainstringнетЦепочка выдающего CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC 3339

GET /{pki_mount_path}/ca_chain

ID операции: pki-read-ca-chain-pem

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainstringнетЦепочка выдающего CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC 3339

GET /{pki_mount_path}/cert/ca_chain

ID операции: pki-read-cert-ca-chain

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainstringнетЦепочка выдающего CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC 3339

GET /{pki_mount_path}/cert/crl

ID операции: pki-read-cert-crl

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainstringнетЦепочка выдающего CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC 3339

GET /{pki_mount_path}/cert/delta-crl

ID операции: pki-read-cert-delta-crl

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainstringнетЦепочка выдающего CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC 3339

GET /{pki_mount_path}/cert/unified-crl

ID операции: pki-read-cert-unified-crl

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainstringнетЦепочка выдающего CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC 3339

GET /{pki_mount_path}/cert/unified-delta-crl

ID операции: pki-read-cert-unified-delta-crl

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainstringнетЦепочка выдающего CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC 3339

GET /{pki_mount_path}/cert/{serial}

ID операции: pki-read-cert

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
serialstringpathдаСерийный номер сертификата в шестнадцатеричном виде с разделителями-двоеточиями или дефисами
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainstringнетЦепочка выдающего CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC 3339

GET /{pki_mount_path}/cert/{serial}/raw

ID операции: pki-read-cert-raw-der

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
serialstringpathдаСерийный номер сертификата в шестнадцатеричном виде с разделителями-двоеточиями или дефисами
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainstringнетЦепочка выдающего CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC 3339

GET /{pki_mount_path}/cert/{serial}/raw/pem

ID операции: pki-read-cert-raw-pem

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
serialstringpathдаСерийный номер сертификата в шестнадцатеричном виде с разделителями-двоеточиями или дефисами
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainstringнетЦепочка выдающего CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC 3339

GET /{pki_mount_path}/certs

ID операции: pki-list-certs

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

ПараметрТипОбязательныйОписание
keysarrayнетСписок ключей

GET /{pki_mount_path}/certs/revocation-queue

ID операции: pki-list-certs-revocation-queue

Выводит список всех ожидающих межкластерных отзывов, известных локальному кластеру.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{pki_mount_path}/certs/revoked

ID операции: pki-list-revoked-certs

Получить список всех отозванных серийных номеров в локальном кластере

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

ПараметрТипОбязательныйОписание
keysarrayнетСписок ключей

GET /{pki_mount_path}/certs/unified-revoked

ID операции: pki-list-unified-revoked-certs

Выводит список всех отозванных серийных номеров в унифицированном хранилище этого кластера.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

ПараметрТипОбязательныйОписание
key_infostringнетИнформация о ключе
keysarrayнетСписок ключей

GET /{pki_mount_path}/config/acme

ID операции: pki-read-acme-configuration

Конфигурация конечных точек ACME

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{pki_mount_path}/config/acme

ID операции: pki-configure-acme

Конфигурация конечных точек ACME

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
allow_role_ext_key_usageboolean (default: False)нетИспользовать ли поле ExtKeyUsage из роли; по умолчанию false — сертификат подписывается с ServerAuth.
allowed_issuersarray (default: [’*’])нетЭмитенты, разрешенные для использования с ACME; по умолчанию только основной эмитент (по умолчанию)
allowed_rolesarray (default: [’*’])нетРоли, разрешенные для использования с ACME; по умолчанию (’*’) — все роли, включая sign-verbatim. Если указаны конкретные имена ролей, в их число должна входить роль из default_directory_policy, чтобы можно было использовать каталоги ACME по умолчанию /pki/acme/directory и /pki/issuer/:issuer_id/acme/directory.
challenge_excluded_ip_rangesarray (default: [])нетСписок CIDR-блоков, исключенных из проверки challenge ACME. Проверка для IP-адресов из этих диапазонов отклоняется. Можно указывать отдельные IP-адреса или нотацию CIDR. Этот список приоритетнее challenge_permitted_ip_ranges.
challenge_permitted_ip_rangesarray (default: [])нетСписок CIDR-блоков, разрешенных для проверки challenge ACME. Если задан, проверка разрешена только для IP-адресов из этих диапазонов. Можно указывать отдельные IP-адреса или нотацию CIDR.
default_directory_policystring (default: sign-verbatim)нетполитика для запросов ACME без указания роли; “sign-verbatim” (по умолчанию) отклоняет финализацию, если CSR содержит URI SAN, email SAN или Other SAN — проверки ACME подтверждают только DNS-имена и IP-адреса, поэтому такие SAN никогда не проверяются и не должны попадать в выпущенные сертификаты; “sign-verbatim-unsafe” выпускает сертификат с этими SAN из CSR без проверки ACME — используйте только если этого требует устаревший сценарий и риск осознанно принят; “forbid” запрещает каталог по умолчанию; “role:<role_name>” применяет указанную роль, роль должна быть разрешена в allowed_roles
dns_resolverstring (default: )нетDNS-резолвер для разрешения доменных имен на этой точке монтирования. По умолчанию используется системный резолвер. Формат :, обе части обязательны.
eab_policystring (default: always-required)нетПолитика привязки внешних аккаунтов (EAB): ’not-required’, ’new-account-required’ или ‘always-required’
enabledboolean (default: False)нетВключен ли ACME; по умолчанию false — поддержка ACME в кластерах отключена
max_ttlinteger (default: 7776000)нетМаксимальный срок действия сертификатов, выпущенных через ACME. Ограничивает срок действия, заданный ролью, точкой монтирования или эмитентом, для выдачи через ACME. По умолчанию 2160h (90 дней).

Ответы

200: OK

GET /{pki_mount_path}/config/auto-tidy

ID операции: pki-read-auto-tidy-configuration

Изменяет текущую конфигурацию автоматического запуска tidy.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
acme_account_safety_bufferintegerнетБуфер безопасности с момента создания, после которого аккаунты без заказов отзываются
enabledbooleanнетВключен ли автоматический запуск tidy
interval_durationintegerнетИнтервал между автоматическими запусками tidy
issuer_safety_bufferintegerнетБуфер безопасности для эмитентов
maintain_stored_certificate_countsbooleanнет
pause_durationstringнетПауза между обработкой сертификатов при очистке (tidy)
publish_stored_certificate_count_metricsbooleanнет
revocation_queue_safety_bufferintegerнет
safety_bufferintegerнетДлительность буфера безопасности
tidy_acmebooleanнетОчистка неиспользуемых аккаунтов и заказов ACME
tidy_cert_storebooleanнетВыполнять ли очистку хранилища сертификатов
tidy_cross_cluster_revoked_certsbooleanнет
tidy_expired_issuersbooleanнетУдалять ли эмитентов с истекшим сроком действия
tidy_move_legacy_ca_bundlebooleanнет
tidy_revocation_queuebooleanнет
tidy_revoked_cert_issuer_associationsbooleanнетСвязывать ли отозванные сертификаты с соответствующими эмитентами
tidy_revoked_certsbooleanнетУдалять ли из хранилища все недействительные сертификаты и сертификаты с истекшим сроком действия

POST /{pki_mount_path}/config/auto-tidy

ID операции: pki-configure-auto-tidy

Изменяет текущую конфигурацию автоматического запуска tidy.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
acme_account_safety_bufferinteger (default: 2592000)нетВремя с момента создания, по истечении которого аккаунт без заказов помечается отозванным, а также время после пометки об отзыве или деактивации.
enabledbooleanнетЕсли true, включается автоматический запуск tidy.
interval_durationinteger (default: 43200)нетИнтервал запуска auto-tidy: время между запусками tidy (от окончания одного до начала следующего). Ручной запуск tidy сбрасывает этот отсчет.
issuer_safety_bufferinteger (default: 31536000)нетДополнительное время после истечения срока действия эмитента, по прошествии которого он удаляется из хранилища бэкенда. По умолчанию 8760 часов (1 год).
maintain_stored_certificate_countsboolean (default: False)нетОпределяет, подсчитываются ли сохраненные сертификаты при инициализации бэкенда и ведется ли их текущий подсчет во время работы.
pause_durationstring (default: 0s)нетПауза между обработкой сертификатов. Позволяет операторам снизить потребление ресурсов операцией tidy за счет увеличения времени ее выполнения. Обратите внимание: весь список сертификатов хранится в памяти на протяжении всей операции tidy, но нагрузка на чтение, обработку и обновление записей распределяется на более длительный период. По умолчанию 0 секунд.
publish_stored_certificate_count_metricsboolean (default: False)нетОпределяет, публикуется ли количество сохраненных сертификатов в метриках. Не влияет на ведение подсчета; если подсчет ведется, он доступен через конечную точку tidy-status.
revocation_queue_safety_bufferinteger (default: 172800)нетВремя с момента создания межкластерного запроса на отзыв до его удаления. Слишком малое значение может привести к удалению действительных запросов до того, как кластер-владелец успеет их обработать, особенно если он недоступен.
safety_bufferinteger (default: 259200)нетДополнительное время после истечения срока действия сертификата, по прошествии которого он удаляется из хранилища бэкенда и/или списка отзыва. По умолчанию 72 часа.
tidy_acmeboolean (default: False)нетЕсли true, включается очистка аккаунтов, заказов и авторизаций ACME. Заказы ACME удаляются через safety_buffer после истечения срока действия связанного сертификата либо, если сертификат не был выпущен, после истечения срока действия заказа и его авторизаций. Авторизации удаляются вместе с соответствующим заказом. Если действующий аккаунт ACME старше acme_account_safety_buffer и у него не осталось заказов, он помечается отозванным. Через еще один acme_account_safety_buffer после даты отзыва или деактивации такой аккаунт удаляется.
tidy_cert_storebooleanнетЕсли true, включается очистка хранилища сертификатов
tidy_cross_cluster_revoked_certsbooleanнетЕсли true, включается очистка межкластерного хранилища отозванных сертификатов. Выполняется только на активном узле основного кластера.
tidy_expired_issuersbooleanнетЕсли true, автоматически удаляются эмитенты, срок действия которых истек более чем на issuer_safety_buffer назад. Ключи при этом не удаляются.
tidy_move_legacy_ca_bundlebooleanнетЕсли true, перемещается устаревший ca_bundle из /config/ca_bundle в /config/ca_bundle.bak. Это делает невозможным откат на версии до Vault 1.11 (старые механизмы PKI не знают о новой схеме хранения нескольких эмитентов), но повышает производительность точек монтирования PKI с seal wrapping. Перемещение выполняется, только если с момента начальной миграции хранилища прошло не меньше issuer_safety_buffer. Резервная копия сохраняется на случай проблем при будущих миграциях; при желании операторы могут удалить ее через sys/raw. Резервная копия также удаляется вызовом DELETE /root, но он удаляет ВСЕХ эмитентов в точке монтирования (поэтому в большинстве сценариев нежелателен).
tidy_revocation_listbooleanнетУстарело; синоним ’tidy_revoked_certs’
tidy_revocation_queueboolean (default: False)нетЕсли true, удаляются устаревшие записи очереди отзыва, не подтвержденные ни одним активным кластером. Выполняется только на активном узле основного кластера
tidy_revoked_cert_issuer_associationsbooleanнетЕсли true, проверяются связи записей отзыва с эмитентами. Это ускоряет построение CRL и ответы OCSP.
tidy_revoked_certsbooleanнетЕсли true, удаляются все отозванные сертификаты с истекшим сроком действия из CRL и из хранилища. Если при этом что-то будет удалено, CRL будет перевыпущен.

Ответы

200: OK

ПараметрТипОбязательныйОписание
acme_account_safety_bufferintegerнетБуфер безопасности с момента создания, после которого аккаунты без заказов отзываются
enabledbooleanнетВключен ли автоматический запуск tidy
interval_durationintegerнетИнтервал между автоматическими запусками tidy
issuer_safety_bufferintegerнетБуфер безопасности для эмитентов
maintain_stored_certificate_countsbooleanнет
pause_durationstringнетПауза между обработкой сертификатов при очистке (tidy)
publish_stored_certificate_count_metricsbooleanнет
revocation_queue_safety_bufferintegerнет
safety_bufferintegerнетДлительность буфера безопасности
tidy_acmebooleanнетОчистка неиспользуемых аккаунтов и заказов ACME
tidy_cert_storebooleanнетВыполнять ли очистку хранилища сертификатов
tidy_cross_cluster_revoked_certsbooleanнетОчистка межкластерного хранилища отозванных сертификатов
tidy_expired_issuersbooleanнетУдалять ли эмитентов с истекшим сроком действия
tidy_move_legacy_ca_bundlebooleanнет
tidy_revocation_queuebooleanнет
tidy_revoked_cert_issuer_associationsbooleanнетСвязывать ли отозванные сертификаты с соответствующими эмитентами
tidy_revoked_certsbooleanнетУдалять ли из хранилища все недействительные сертификаты и сертификаты с истекшим сроком действия

POST /{pki_mount_path}/config/ca

ID операции: pki-configure-ca

Задать CA-сертификат и закрытый ключ, используемые для генерации учетных данных.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
pem_bundlestringнетОбъединенные незашифрованный закрытый ключ и сертификат в формате PEM.

Ответы

200: OK

ПараметрТипОбязательныйОписание
existing_issuersarrayнетУже существующие эмитенты, указанные в импортируемом бандле этого запроса
existing_keysarrayнетУже существующие ключи, указанные в импортируемом бандле этого запроса
imported_issuersarrayнетНовые эмитенты, импортированные в рамках этого запроса
imported_keysarrayнетНовые ключи, импортированные в рамках этого запроса
mappingobjectнетСопоставление issuer_id и key_id для всех эмитентов, включенных в этот запрос

GET /{pki_mount_path}/config/cluster

ID операции: pki-read-cluster-configuration

Задать локальную конфигурацию кластера, включая адрес этого кластера репликации производительности (PR).

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
aia_pathstringнетНеобязательный URI точки распространения AIA для этой точки монтирования; может указывать на внешний сервис, не являющийся Stronghold. Используется для формирования URL AIA и параметра шаблона {{cluster_aia_path}} и ни для чего больше. Поэтому, в отличие от path выше, здесь допустим незащищенный транспорт (например, HTTP без TLS). Например: http://cdn.example.com/pr1/pki
pathstringнетКанонический URI этой точки монтирования на внешнем адресе кластера репликации производительности (PR). Используется для формирования URL AIA и параметра шаблона {{cluster_path}}, но в будущем может использоваться и для других целей. Должен указывать только на эту реплику PR и никогда — на другой кластер PR. Может указывать на любой узел реплики PR, включая резервные (standby), и не обязательно на активный узел. Например: https://pr1.stronghold.example.com:8200/v1/pki

POST /{pki_mount_path}/config/cluster

ID операции: pki-configure-cluster

Задать локальную конфигурацию кластера, включая адрес этого кластера репликации производительности (PR).

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
aia_pathstringнетНеобязательный URI точки распространения AIA для этой точки монтирования; может указывать на внешний сервис, не являющийся Stronghold. Используется для формирования URL AIA и параметра шаблона {{cluster_aia_path}} и ни для чего больше. Поэтому, в отличие от path выше, здесь допустим незащищенный транспорт (например, HTTP без TLS). Например: http://cdn.example.com/pr1/pki
pathstringнетКанонический URI этой точки монтирования на внешнем адресе кластера репликации производительности (PR). Используется для формирования URL AIA и параметра шаблона {{cluster_path}}, но в будущем может использоваться и для других целей. Должен указывать только на эту реплику PR и никогда — на другой кластер PR. Может указывать на любой узел реплики PR, включая резервные (standby), и не обязательно на активный узел. Например: https://pr1.stronghold.example.com:8200/v1/pki

Ответы

200: OK

ПараметрТипОбязательныйОписание
aia_pathstringнетНеобязательный URI точки распространения AIA для этой точки монтирования; может указывать на внешний сервис, не являющийся Stronghold. Используется для формирования URL AIA и параметра шаблона {{cluster_aia_path}} и ни для чего больше. Поэтому, в отличие от path выше, здесь допустим незащищенный транспорт (например, HTTP без TLS). Например: http://cdn.example.com/pr1/pki
pathstringнетКанонический URI этой точки монтирования на внешнем адресе кластера репликации производительности (PR). Используется для формирования URL AIA и параметра шаблона {{cluster_path}}, но в будущем может использоваться и для других целей. Должен указывать только на эту реплику PR и никогда — на другой кластер PR. Может указывать на любой узел реплики PR, включая резервные (standby), и не обязательно на активный узел. Например: https://pr1.stronghold.example.com:8200/v1/pki

GET /{pki_mount_path}/config/crl

ID операции: pki-read-crl-configuration

Настроить срок действия CRL.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
auto_rebuildbooleanнетЕсли true, включается автоматическое перестроение CRL
auto_rebuild_grace_periodstringнетЗа какое время до истечения срока действия CRL выполняется его автоматическое перестроение (если включено). Должно быть меньше срока действия CRL. По умолчанию 12h.
cross_cluster_revocationbooleanнетВключить ли глобальную межкластерную очередь отзыва. Используется только вместе с auto_rebuild=true.
delta_rebuild_intervalstringнетИнтервал перестроения delta CRL при появлении новых отзывов. Должен быть меньше срока действия CRL. По умолчанию 15m.
disablebooleanнетЕсли true, генерация CRL полностью отключается.
enable_deltabooleanнетВключить ли delta CRL между полными перестроениями CRL
expirystringнетСрок действия генерируемого CRL; по умолчанию 72 часа
ocsp_disablebooleanнетЕсли true, будут возвращаться ответы OCSP со статусом unauthorized.
ocsp_expirystringнетСрок действия ответа OCSP (определяет поле NextUpdate); по умолчанию 12 часов
unified_crlbooleanнетЕсли true, включается глобальная репликация записей отзыва, а также унифицированные версии OCSP и CRL, если соответствующие функции включены (disable для CRL и ocsp_disable для OCSP).
unified_crl_on_existing_pathsbooleanнетЕсли true, существующие пути CRL и OCSP возвращают унифицированный CRL вместо ответа на основе локальных данных кластера

POST /{pki_mount_path}/config/crl

ID операции: pki-configure-crl

Настроить срок действия CRL.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
auto_rebuildbooleanнетЕсли true, включается автоматическое перестроение CRL
auto_rebuild_grace_periodstring (default: 12h)нетЗа какое время до истечения срока действия CRL выполняется его автоматическое перестроение (если включено). Должно быть меньше срока действия CRL. По умолчанию 12h.
cross_cluster_revocationbooleanнетВключить ли глобальную межкластерную очередь отзыва. Используется только вместе с auto_rebuild=true.
delta_rebuild_intervalstring (default: 15m)нетИнтервал перестроения delta CRL при появлении новых отзывов. Должен быть меньше срока действия CRL. По умолчанию 15m.
disablebooleanнетЕсли true, генерация CRL полностью отключается.
enable_deltabooleanнетВключить ли delta CRL между полными перестроениями CRL
expirystring (default: 72h)нетСрок действия генерируемого CRL; по умолчанию 72 часа
ocsp_disablebooleanнетЕсли true, будут возвращаться ответы OCSP со статусом unauthorized.
ocsp_expirystring (default: 1h)нетСрок действия ответа OCSP (определяет поле NextUpdate); по умолчанию 12 часов
unified_crlboolean (default: false)нетЕсли true, включается глобальная репликация записей отзыва, а также унифицированные версии OCSP и CRL, если соответствующие функции включены (disable для CRL и ocsp_disable для OCSP).
unified_crl_on_existing_pathsboolean (default: false)нетЕсли true, существующие пути CRL и OCSP возвращают унифицированный CRL вместо ответа на основе локальных данных кластера

Ответы

200: OK

ПараметрТипОбязательныйОписание
auto_rebuildbooleanнетЕсли true, включается автоматическое перестроение CRL
auto_rebuild_grace_periodstring (default: 12h)нетЗа какое время до истечения срока действия CRL выполняется его автоматическое перестроение (если включено). Должно быть меньше срока действия CRL. По умолчанию 12h.
cross_cluster_revocationbooleanнетВключить ли глобальную межкластерную очередь отзыва. Используется только вместе с auto_rebuild=true.
delta_rebuild_intervalstring (default: 15m)нетИнтервал перестроения delta CRL при появлении новых отзывов. Должен быть меньше срока действия CRL. По умолчанию 15m.
disablebooleanнетЕсли true, генерация CRL полностью отключается.
enable_deltabooleanнетВключить ли delta CRL между полными перестроениями CRL
expirystring (default: 72h)нетСрок действия генерируемого CRL; по умолчанию 72 часа
ocsp_disablebooleanнетЕсли true, будут возвращаться ответы OCSP со статусом unauthorized.
ocsp_expirystring (default: 1h)нетСрок действия ответа OCSP (определяет поле NextUpdate); по умолчанию 12 часов
unified_crlbooleanнетЕсли true, включается глобальная репликация записей отзыва, а также унифицированные версии OCSP и CRL, если соответствующие функции включены (disable для CRL и ocsp_disable для OCSP).
unified_crl_on_existing_pathsbooleanнетЕсли true, существующие пути CRL и OCSP возвращают унифицированный CRL вместо ответа на основе локальных данных кластера

GET /{pki_mount_path}/config/issuers

ID операции: pki-read-issuers-configuration

Прочитать и задать сертификат эмитента по умолчанию для подписи.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
defaultstringнетСсылка (имя или идентификатор) на эмитента по умолчанию.
default_follows_latest_issuerbooleanнетДолжен ли эмитент по умолчанию автоматически переключаться на последнего сгенерированного или импортированного эмитента. По умолчанию false.

POST /{pki_mount_path}/config/issuers

ID операции: pki-configure-issuers

Прочитать и задать сертификат эмитента по умолчанию для подписи.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
defaultstringнетСсылка (имя или идентификатор) на эмитента по умолчанию.
default_follows_latest_issuerboolean (default: False)нетДолжен ли эмитент по умолчанию автоматически переключаться на последнего сгенерированного или импортированного эмитента. По умолчанию false.

Ответы

200: OK

ПараметрТипОбязательныйОписание
defaultstringнетСсылка (имя или идентификатор) на эмитента по умолчанию.
default_follows_latest_issuerbooleanнетДолжен ли эмитент по умолчанию автоматически переключаться на последнего сгенерированного или импортированного эмитента. По умолчанию false.

GET /{pki_mount_path}/config/keys

ID операции: pki-read-keys-configuration

Прочитать и задать ключ по умолчанию для подписи

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
defaultstringнетСсылка (имя или идентификатор) на эмитента по умолчанию.

POST /{pki_mount_path}/config/keys

ID операции: pki-configure-keys

Прочитать и задать ключ по умолчанию для подписи

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
defaultstringнетСсылка (имя или идентификатор) на ключ по умолчанию.

Ответы

200: OK

ПараметрТипОбязательныйОписание
defaultstringнетСсылка (имя или идентификатор) на эмитента по умолчанию.

GET /{pki_mount_path}/config/urls

ID операции: pki-read-urls-configuration

Задать URL выдающего CA, точек распространения CRL и серверов OCSP.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
crl_distribution_pointsarrayнетСписок URL через запятую для атрибута CRL Distribution Points. См. также RFC 5280, раздел 4.2.1.13.
enable_templatingbooleanнетВключить ли шаблоны в перечисленных выше полях AIA. При включенных шаблонах доступны специальные значения ‘{{issuer_id}}’ и ‘{{cluster_path}}’, но корректность URI проверяется только в момент выдачи. Требуется, чтобы на всех вторичных кластерах PR был задан path в /config/cluster.
issuing_certificatesarrayнетСписок URL через запятую для атрибута Issuing Certificate. См. также RFC 5280, раздел 4.2.2.1.
ocsp_serversarrayнетСписок URL через запятую для атрибута OCSP Servers. См. также RFC 5280, раздел 4.2.2.1.

POST /{pki_mount_path}/config/urls

ID операции: pki-configure-urls

Задать URL выдающего CA, точек распространения CRL и серверов OCSP.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
crl_distribution_pointsarrayнетСписок URL через запятую для атрибута CRL Distribution Points. См. также RFC 5280, раздел 4.2.1.13.
enable_templatingboolean (default: False)нетВключить ли шаблоны в перечисленных выше полях AIA. При включенных шаблонах доступны специальные значения ‘{{issuer_id}}’, ‘{{cluster_path}}’ и ‘{{cluster_aia_path}}’, но корректность URI проверяется только в момент выдачи. Для ‘{{cluster_path}}’ на всех вторичных кластерах PR должно быть задано поле ‘path’ в /config/cluster, а для ‘{{cluster_aia_path}}’ — поле ‘aia_path’ в /config/cluster.
issuing_certificatesarrayнетСписок URL через запятую для атрибута Issuing Certificate. См. также RFC 5280, раздел 4.2.2.1.
ocsp_serversarrayнетСписок URL через запятую для атрибута OCSP Servers. См. также RFC 5280, раздел 4.2.2.1.

Ответы

200: OK

ПараметрТипОбязательныйОписание
crl_distribution_pointsarrayнетСписок URL через запятую для атрибута CRL Distribution Points. См. также RFC 5280, раздел 4.2.1.13.
enable_templatingboolean (default: False)нетВключить ли шаблоны в перечисленных выше полях AIA. При включенных шаблонах доступны специальные значения ‘{{issuer_id}}’ и ‘{{cluster_path}}’, но корректность URI проверяется только в момент выдачи. Требуется, чтобы на всех вторичных кластерах PR был задан path в /config/cluster.
issuing_certificatesarrayнетСписок URL через запятую для атрибута Issuing Certificate. См. также RFC 5280, раздел 4.2.2.1.
ocsp_serversarrayнетСписок URL через запятую для атрибута OCSP Servers. См. также RFC 5280, раздел 4.2.2.1.

GET /{pki_mount_path}/crl

ID операции: pki-read-crl-der

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainstringнетЦепочка выдающего CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC 3339

GET /{pki_mount_path}/crl/delta

ID операции: pki-read-crl-delta

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainstringнетЦепочка выдающего CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC 3339

GET /{pki_mount_path}/crl/delta/pem

ID операции: pki-read-crl-delta-pem

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainstringнетЦепочка выдающего CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC 3339

GET /{pki_mount_path}/crl/pem

ID операции: pki-read-crl-pem

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainstringнетЦепочка выдающего CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC 3339

GET /{pki_mount_path}/crl/rotate

ID операции: pki-rotate-crl

Принудительно перестроить CRL.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
successbooleanнетУспешно ли выполнена ротация

GET /{pki_mount_path}/crl/rotate-delta

ID операции: pki-rotate-delta-crl

Принудительно перестроить delta CRL.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
successbooleanнетУспешно ли выполнена ротация

GET /{pki_mount_path}/eab

ID операции: pki-list-eab-keys

получить список привязок внешних аккаунтов (EAB) для ACME

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

ПараметрТипОбязательныйОписание
key_infoobjectнетСведения о EAB по идентификаторам ключей EAB
keysarrayнетСписок неиспользованных ключей EAB

DELETE /{pki_mount_path}/eab/{key_id}

ID операции: pki-delete-eab-key

Удалить идентификатор привязки внешнего аккаунта (EAB) до его использования в аккаунте ACME

Параметры

ПараметрТипРасположениеОбязательныйОписание
key_idstringpathдаИдентификатор ключа EAB
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

POST /{pki_mount_path}/intermediate/cross-sign

ID операции: pki-cross-sign-intermediate

Сгенерировать новый CSR и закрытый ключ для подписи.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
add_basic_constraintsbooleanнетДобавлять ли расширение Basic Constraints с CA: true. Требуется только как обходной путь в некоторых сценариях совместимости со службами сертификатов Active Directory.
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Могут содержать DNS-имена и адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если не указано при подписи, CN берется из CSR; остальные имена все равно нужно указать в alt_names или ip_sans.
countryarrayнетЕсли задано, поле Country (C) получает это значение.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
exportedstring (internal, exported, kms)нетДопустимые значения: “internal”, “exported” или “kms”. При значении “exported” сгенерированный закрытый ключ возвращается в ответе. Это *единственная* возможность получить закрытый ключ!
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
key_bitsinteger (default: 0)нетКоличество бит. Допустимые значения: 0 (универсальное значение по умолчанию); для key_type rsa — 2048 (по умолчанию), 3072 или 4096; для key_type ec — 224, 256 (по умолчанию), 384 или 521; для ed25519 игнорируется.
key_namestringнетИмя для сгенерированного или существующего ключа; должно быть уникальным среди всех ключей и не может быть зарезервированным значением ‘default’
key_refstring (default: default)нетСсылка на существующий ключ: “default” для настроенного ключа по умолчанию, идентификатор или имя ключа.
key_typestring (rsa, ec, ed25519, gost3410-256-paramset-a, gost3410-256-paramset-b, gost3410-256-paramset-c, gost3410-256-paramset-d, gost3410-512-paramset-a, gost3410-512-paramset-b, gost3410-512-paramset-c) (default: rsa)нетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c”.
localityarrayнетЕсли задано, поле Locality (L) получает это значение.
managed_key_idstringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_name. Для других типов игнорируется.
managed_key_namestringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_id. Для других типов игнорируется.
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
not_before_durationinteger (default: 30)нетНа сколько сдвинуть назад от текущего момента дату начала действия сертификата (backdate).
organizationarrayнетЕсли задано, поле O (Organization) получает это значение.
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
ouarrayнетЕсли задано, поле OU (OrganizationalUnit) получает это значение.
postal_codearrayнетЕсли задано, поле Postal Code получает это значение.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
provincearrayнетЕсли задано, поле Province (ST) получает это значение.
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
signature_bitsinteger (default: 0)нетКоличество бит в алгоритме подписи: 256 для SHA-2-256, 384 для SHA-2-384, 512 для SHA-2-512. По умолчанию 0 — автоматический выбор по длине ключа (SHA-2-256 для ключей RSA, по размеру кривой для кривых NIST P).
street_addressarrayнетЕсли задано, поле Street Address получает это значение.
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL точки монтирования. Примечание: действует только при генерации или подписи сертификата CA, но не при генерации CSR для промежуточного CA.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.

Ответы

200: OK

ПараметрТипОбязательныйОписание
csrstringнетЗапрос на подпись сертификата (CSR).
key_idstringнетИдентификатор ключа.
private_keystringнетСгенерированный закрытый ключ.
private_key_typestringнетФормат сериализации закрытого ключа.

POST /{pki_mount_path}/intermediate/generate/{exported}

ID операции: pki-generate-intermediate

Сгенерировать новый CSR и закрытый ключ для подписи.

Параметры

ПараметрТипРасположениеОбязательныйОписание
exportedstring (internal, exported, kms)pathдаДопустимые значения: “internal”, “exported” или “kms”. При значении “exported” сгенерированный закрытый ключ возвращается в ответе. Это *единственная* возможность получить закрытый ключ!
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
add_basic_constraintsbooleanнетДобавлять ли расширение Basic Constraints с CA: true. Требуется только как обходной путь в некоторых сценариях совместимости со службами сертификатов Active Directory.
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Могут содержать DNS-имена и адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если не указано при подписи, CN берется из CSR; остальные имена все равно нужно указать в alt_names или ip_sans.
countryarrayнетЕсли задано, поле Country (C) получает это значение.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
key_bitsinteger (default: 0)нетКоличество бит. Допустимые значения: 0 (универсальное значение по умолчанию); для key_type rsa — 2048 (по умолчанию), 3072 или 4096; для key_type ec — 224, 256 (по умолчанию), 384 или 521; для ed25519 игнорируется.
key_namestringнетИмя для сгенерированного или существующего ключа; должно быть уникальным среди всех ключей и не может быть зарезервированным значением ‘default’
key_refstring (default: default)нетСсылка на существующий ключ: “default” для настроенного ключа по умолчанию, идентификатор или имя ключа.
key_typestring (rsa, ec, ed25519, gost3410-256-paramset-a, gost3410-256-paramset-b, gost3410-256-paramset-c, gost3410-256-paramset-d, gost3410-512-paramset-a, gost3410-512-paramset-b, gost3410-512-paramset-c) (default: rsa)нетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c”.
localityarrayнетЕсли задано, поле Locality (L) получает это значение.
managed_key_idstringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_name. Для других типов игнорируется.
managed_key_namestringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_id. Для других типов игнорируется.
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
not_before_durationinteger (default: 30)нетНа сколько сдвинуть назад от текущего момента дату начала действия сертификата (backdate).
organizationarrayнетЕсли задано, поле O (Organization) получает это значение.
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
ouarrayнетЕсли задано, поле OU (OrganizationalUnit) получает это значение.
postal_codearrayнетЕсли задано, поле Postal Code получает это значение.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
provincearrayнетЕсли задано, поле Province (ST) получает это значение.
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
signature_bitsinteger (default: 0)нетКоличество бит в алгоритме подписи: 256 для SHA-2-256, 384 для SHA-2-384, 512 для SHA-2-512. По умолчанию 0 — автоматический выбор по длине ключа (SHA-2-256 для ключей RSA, по размеру кривой для кривых NIST P).
street_addressarrayнетЕсли задано, поле Street Address получает это значение.
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL точки монтирования. Примечание: действует только при генерации или подписи сертификата CA, но не при генерации CSR для промежуточного CA.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.

Ответы

200: OK

ПараметрТипОбязательныйОписание
csrstringнетЗапрос на подпись сертификата (CSR).
key_idstringнетИдентификатор ключа.
private_keystringнетСгенерированный закрытый ключ.
private_key_typestringнетФормат сериализации закрытого ключа.

POST /{pki_mount_path}/intermediate/set-signed

ID операции: pki-set-signed-intermediate

Передать подписанный промежуточный сертификат CA.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
certificatestringнетСертификат в формате PEM. Должен быть сертификатом CA с открытым ключом, соответствующим ключу, ранее сгенерированному конечной точкой генерации. В бандл можно дополнительно добавить родительские CA.

Ответы

200: OK

ПараметрТипОбязательныйОписание
existing_issuersarrayнетУже существующие эмитенты, указанные в импортируемом бандле этого запроса
existing_keysarrayнетУже существующие ключи, указанные в импортируемом бандле этого запроса
imported_issuersarrayнетНовые эмитенты, импортированные в рамках этого запроса
imported_keysarrayнетНовые ключи, импортированные в рамках этого запроса
mappingobjectнетСопоставление issuer_id и key_id для всех эмитентов, включенных в этот запрос

POST /{pki_mount_path}/issue/{role}

ID операции: pki-issue-with-role

Запросить сертификат с указанными параметрами по определенной роли.

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathдаРоль, конфигурация которой используется для этого запроса
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Если для роли включена защита электронной почты, могут содержать адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если в роли включена защита электронной почты, это может быть адрес электронной почты.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
issuer_refstring (default: default)нетСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
remove_roots_from_chainboolean (default: False)нетИсключать ли самоподписанные сертификаты CA из поля ca_chain.
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL роли.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.
user_idsarrayнетЗапрашиваемые значения user_ids для субъекта (если есть) через запятую. Ограничиваются allowed_user_ids. Значения добавляются с OID 0.9.2342.19200300.100.1.1.

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка сертификатов
certificatestringнетСертификат
expirationintegerнетВремя истечения срока действия
issuing_castringнетВыдающий удостоверяющий центр
private_keystringнетЗакрытый ключ
private_key_typestringнетТип закрытого ключа
serial_numberstringнетСерийный номер

GET /{pki_mount_path}/issuer/{issuer_ref}

ID операции: pki-read-issuer

Получить сертификат одного эмитента.

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка CA
certificatestringнетСертификат
crl_distribution_pointsarrayнетТочки распространения CRL
enable_aia_url_templatingbooleanнетВключены ли шаблоны для полей AIA
issuer_idstringнетИдентификатор эмитента
issuer_namestringнетИмя эмитента
issuing_certificatesarrayнетВыдающие сертификаты
key_idstringнетИдентификатор ключа
leaf_not_after_behaviorstringнетПоведение NotAfter для конечных сертификатов
manual_chainarrayнетЦепочка, заданная вручную
ocsp_serversarrayнетOCSP-серверы
revocation_signature_algorithmstringнетАлгоритм подписи отзыва
revocation_timeintegerнет
revocation_time_rfc3339stringнет
revokedbooleanнетОтозван
usagestringнетИспользование

POST /{pki_mount_path}/issuer/{issuer_ref}

ID операции: pki-write-issuer

Получить сертификат одного эмитента.

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
crl_distribution_pointsarrayнетСписок URL через запятую для атрибута CRL Distribution Points. См. также RFC 5280, раздел 4.2.1.13.
enable_aia_url_templatingboolean (default: False)нетВключить ли шаблоны в перечисленных выше полях AIA. При включенных шаблонах доступны специальные значения ‘{{issuer_id}}’, ‘{{cluster_path}}’ и ‘{{cluster_aia_path}}’, но корректность URL проверяется только в момент выдачи. Для ‘{{cluster_path}}’ на всех вторичных кластерах PR должно быть задано поле ‘path’ в /config/cluster, а для ‘{{cluster_aia_path}}’ — поле ‘aia_path’ в /config/cluster.
issuer_namestringнетИмя для создаваемого или существующего эмитента; должно быть уникальным среди всех эмитентов и не может быть зарезервированным значением ‘default’
issuing_certificatesarrayнетСписок URL через запятую для атрибута Issuing Certificate. См. также RFC 5280, раздел 4.2.2.1.
leaf_not_after_behaviorstring (default: err)нетПоведение поля NotAfter конечных сертификатов: “err” — ошибка, если вычисленная дата NotAfter превышает дату этого эмитента; “truncate” — молча усекать до даты эмитента; “permit” — разрешить выдачу (с NotAfter позже, чем у эмитента). Учтите, что не при всех значениях сертификат можно будет проверить в течение всего срока действия. Рекомендуется “truncate” для промежуточных CA и “permit” только для корневых CA.
manual_chainarrayнетЦепочка ссылок на эмитентов, используемая для построения вычисляемого поля CAChain этого эмитента (если не пуста).
ocsp_serversarrayнетСписок URL через запятую для атрибута OCSP Servers. См. также RFC 5280, раздел 4.2.2.1.
revocation_signature_algorithmstring (default: )нетИмя x509.SignatureAlgorithm для подписи CRL. Позволяет выбрать между PKCS#1v1.5 и PSS, а также алгоритм хеширования подписи. По умолчанию (пустая строка) алгоритм выбирается Go. Это может завершиться ошибкой, если ключ не поддерживает запрошенный алгоритм, что не всегда известно на момент изменения (например, для RSA-ключей под управлением PKCS#11).
usagearray (default: [‘read-only’, ‘issuing-certificates’, ‘crl-signing’, ‘ocsp-signing’])нетСписок (строка через запятую или массив строк) назначений этого эмитента; допустимые значения: “read-only”, “issuing-certificates”, “crl-signing” и “ocsp-signing”. Можно указать несколько значений. “read-only” подразумевается и задается всегда.

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка CA
certificatestringнетСертификат
crl_distribution_pointsarrayнетТочки распространения CRL
enable_aia_url_templatingbooleanнетВключены ли шаблоны для полей AIA
issuer_idstringнетИдентификатор эмитента
issuer_namestringнетИмя эмитента
issuing_certificatesarrayнетВыдающие сертификаты
key_idstringнетИдентификатор ключа
leaf_not_after_behaviorstringнетПоведение NotAfter для конечных сертификатов
manual_chainarrayнетЦепочка, заданная вручную
ocsp_serversarrayнетOCSP-серверы
revocation_signature_algorithmstringнетАлгоритм подписи отзыва
revocation_timeintegerнет
revocation_time_rfc3339stringнет
revokedbooleanнетОтозван
usagestringнетИспользование

DELETE /{pki_mount_path}/issuer/{issuer_ref}

ID операции: pki-delete-issuer

Получить сертификат одного эмитента.

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: No Content

POST /{pki_mount_path}/issuer/{issuer_ref}/acme/account/{kid}

ID операции: pki-write-issuer-issuer_ref-acme-account-kid

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
kidstringpathдаИдентификатор ключа, предоставленный CA
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/acme/authorization/{auth_id}

ID операции: pki-write-issuer-issuer_ref-acme-authorization-auth_id

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
auth_idstringpathдаЗначение идентификатора авторизации ACME
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/acme/challenge/{auth_id}/{challenge_type}

ID операции: pki-write-issuer-issuer_ref-acme-challenge-auth_id-challenge_type

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
auth_idstringpathдаЗначение идентификатора авторизации ACME
challenge_typestringpathдаТип проверки (challenge) ACME
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

GET /{pki_mount_path}/issuer/{issuer_ref}/acme/directory

ID операции: pki-read-issuer-issuer_ref-acme-directory

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/acme/new-account

ID операции: pki-write-issuer-issuer_ref-acme-new-account

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/acme/new-eab

ID операции: pki-generate-eab-key-for-issuer

Сгенерировать привязки внешних аккаунтов (EAB) для ACME

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
acme_directorystringнетКаталог ACME, которому принадлежит ключ
created_onstringнетДата и время создания токена EAB в формате RFC3339
idstringнетИдентификатор ключа EAB
keystringнетHMAC-ключ EAB
key_typestringнетТип ключа EAB

GET /{pki_mount_path}/issuer/{issuer_ref}/acme/new-nonce

ID операции: pki-read-issuer-issuer_ref-acme-new-nonce

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/acme/new-order

ID операции: pki-write-issuer-issuer_ref-acme-new-order

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/acme/order/{order_id}

ID операции: pki-write-issuer-issuer_ref-acme-order-order_id

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
order_idstringpathдаИдентификатор запрашиваемого заказа ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/acme/order/{order_id}/cert

ID операции: pki-write-issuer-issuer_ref-acme-order-order_id-cert

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
order_idstringpathдаИдентификатор запрашиваемого заказа ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/acme/order/{order_id}/finalize

ID операции: pki-write-issuer-issuer_ref-acme-order-order_id-finalize

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
order_idstringpathдаИдентификатор запрашиваемого заказа ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/acme/orders

ID операции: pki-write-issuer-issuer_ref-acme-orders

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/acme/revoke-cert

ID операции: pki-write-issuer-issuer_ref-acme-revoke-cert

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

GET /{pki_mount_path}/issuer/{issuer_ref}/crl

ID операции: pki-issuer-read-crl

Получить список отзыва сертификатов (CRL) эмитента.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
crlstringнет

GET /{pki_mount_path}/issuer/{issuer_ref}/crl/delta

ID операции: pki-issuer-read-crl-delta

Получить список отзыва сертификатов (CRL) эмитента.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
crlstringнет

GET /{pki_mount_path}/issuer/{issuer_ref}/crl/delta/der

ID операции: pki-issuer-read-crl-delta-der

Получить список отзыва сертификатов (CRL) эмитента.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
crlstringнет

GET /{pki_mount_path}/issuer/{issuer_ref}/crl/delta/pem

ID операции: pki-issuer-read-crl-delta-pem

Получить список отзыва сертификатов (CRL) эмитента.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
crlstringнет

GET /{pki_mount_path}/issuer/{issuer_ref}/crl/der

ID операции: pki-issuer-read-crl-der

Получить список отзыва сертификатов (CRL) эмитента.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
crlstringнет

GET /{pki_mount_path}/issuer/{issuer_ref}/crl/pem

ID операции: pki-issuer-read-crl-pem

Получить список отзыва сертификатов (CRL) эмитента.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
crlstringнет

GET /{pki_mount_path}/issuer/{issuer_ref}/der

ID операции: pki-read-issuer-der

Получить сертификат одного эмитента.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
issuer_namestringнетИмя эмитента

304: Не изменено

POST /{pki_mount_path}/issuer/{issuer_ref}/issue/{role}

ID операции: pki-issuer-issue-with-role

Запросить сертификат с указанными параметрами по определенной роли.

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
rolestringpathдаРоль, конфигурация которой используется для этого запроса
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Если для роли включена защита электронной почты, могут содержать адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если в роли включена защита электронной почты, это может быть адрес электронной почты.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
remove_roots_from_chainboolean (default: False)нетИсключать ли самоподписанные сертификаты CA из поля ca_chain.
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL роли.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.
user_idsarrayнетЗапрашиваемые значения user_ids для субъекта (если есть) через запятую. Ограничиваются allowed_user_ids. Значения добавляются с OID 0.9.2342.19200300.100.1.1.

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка сертификатов
certificatestringнетСертификат
expirationintegerнетВремя истечения срока действия
issuing_castringнетВыдающий удостоверяющий центр
private_keystringнетЗакрытый ключ
private_key_typestringнетТип закрытого ключа
serial_numberstringнетСерийный номер

GET /{pki_mount_path}/issuer/{issuer_ref}/json

ID операции: pki-read-issuer-json

Получить сертификат одного эмитента.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
issuer_namestringнетИмя эмитента

304: Не изменено

GET /{pki_mount_path}/issuer/{issuer_ref}/pem

ID операции: pki-read-issuer-pem

Получить сертификат одного эмитента.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка CA
certificatestringнетСертификат
issuer_idstringнетИдентификатор эмитента
issuer_namestringнетИмя эмитента

304: Не изменено

POST /{pki_mount_path}/issuer/{issuer_ref}/resign-crls

ID операции: pki-issuer-resign-crls

Объединить разные CRL и подписать их указанным эмитентом

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
crl_numberintegerнетПорядковый номер, записываемый в расширение CRL Number.
crlsarrayнетСписок объединяемых CRL в формате PEM, изначально подписанных запрошенным эмитентом.
delta_crl_base_numberinteger (default: -1)нетЗначение 0 или больше задает базовый номер ревизии CRL для расширения Delta CRL Indicator; иначе расширение не добавляется.
formatstring (default: pem)нетФормат объединенного CRL: “pem” или “der”. При “der” значение кодируется в base64. По умолчанию “pem”.
next_updatestring (default: 72h)нетСрок действия генерируемого CRL; по умолчанию 72 часа.

Ответы

200: OK

ПараметрТипОбязательныйОписание
crlstringнетСписок отзыва

POST /{pki_mount_path}/issuer/{issuer_ref}/revoke

ID операции: pki-revoke-issuer

Отозвать указанный сертификат эмитента.

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка удостоверяющих центров (CA)
certificatestringнетСертификат
crl_distribution_pointsarrayнетЗначения URL для поля CRL Distribution Points
issuer_idstringнетИдентификатор эмитента
issuer_namestringнетИмя эмитента
issuing_certificatesarrayнетЗначения URL для поля Issuing Certificate
key_idstringнетИдентификатор ключа
leaf_not_after_behaviorstringнет
manual_chainarrayнетЦепочка, заданная вручную
ocsp_serversarrayнетЗначения URL для поля OCSP Servers
revocation_signature_algorithmstringнетАлгоритм подписи при построении CRL
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва в формате RFC
revokedbooleanнетОтозван ли эмитент
usagestringнетРазрешенные назначения

POST /{pki_mount_path}/issuer/{issuer_ref}/roles/{role}/acme/account/{kid}

ID операции: pki-write-issuer-issuer_ref-roles-role-acme-account-kid

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
kidstringpathдаИдентификатор ключа, предоставленный CA
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/roles/{role}/acme/authorization/{auth_id}

ID операции: pki-write-issuer-issuer_ref-roles-role-acme-authorization-auth_id

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
auth_idstringpathдаЗначение идентификатора авторизации ACME
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/roles/{role}/acme/challenge/{auth_id}/{challenge_type}

ID операции: pki-write-issuer-issuer_ref-roles-role-acme-challenge-auth_id-challenge_type

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
auth_idstringpathдаЗначение идентификатора авторизации ACME
challenge_typestringpathдаТип проверки (challenge) ACME
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

GET /{pki_mount_path}/issuer/{issuer_ref}/roles/{role}/acme/directory

ID операции: pki-read-issuer-issuer_ref-roles-role-acme-directory

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/roles/{role}/acme/new-account

ID операции: pki-write-issuer-issuer_ref-roles-role-acme-new-account

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/roles/{role}/acme/new-eab

ID операции: pki-generate-eab-key-for-issuer-and-role

Сгенерировать привязки внешних аккаунтов (EAB) для ACME

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
acme_directorystringнетКаталог ACME, которому принадлежит ключ
created_onstringнетДата и время создания токена EAB в формате RFC3339
idstringнетИдентификатор ключа EAB
keystringнетHMAC-ключ EAB
key_typestringнетТип ключа EAB

GET /{pki_mount_path}/issuer/{issuer_ref}/roles/{role}/acme/new-nonce

ID операции: pki-read-issuer-issuer_ref-roles-role-acme-new-nonce

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/roles/{role}/acme/new-order

ID операции: pki-write-issuer-issuer_ref-roles-role-acme-new-order

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/roles/{role}/acme/order/{order_id}

ID операции: pki-write-issuer-issuer_ref-roles-role-acme-order-order_id

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
order_idstringpathдаИдентификатор запрашиваемого заказа ACME
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/roles/{role}/acme/order/{order_id}/cert

ID операции: pki-write-issuer-issuer_ref-roles-role-acme-order-order_id-cert

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
order_idstringpathдаИдентификатор запрашиваемого заказа ACME
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/roles/{role}/acme/order/{order_id}/finalize

ID операции: pki-write-issuer-issuer_ref-roles-role-acme-order-order_id-finalize

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
order_idstringpathдаИдентификатор запрашиваемого заказа ACME
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/roles/{role}/acme/orders

ID операции: pki-write-issuer-issuer_ref-roles-role-acme-orders

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/roles/{role}/acme/revoke-cert

ID операции: pki-write-issuer-issuer_ref-roles-role-acme-revoke-cert

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента по имени или идентификатору
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/issuer/{issuer_ref}/sign-intermediate

ID операции: pki-issuer-sign-intermediate

Выпустить промежуточный сертификат CA на основе предоставленного CSR.

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Могут содержать DNS-имена и адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если не указано при подписи, CN берется из CSR; остальные имена все равно нужно указать в alt_names или ip_sans.
countryarrayнетЕсли задано, поле Country (C) получает это значение.
csrstring (default: )нетПодписываемый CSR в формате PEM.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
issuer_namestringнетИмя для создаваемого или существующего эмитента; должно быть уникальным среди всех эмитентов и не может быть зарезервированным значением ‘default’
localityarrayнетЕсли задано, поле Locality (L) получает это значение.
max_path_lengthinteger (default: -1)нетМаксимально допустимая длина пути
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
not_before_durationinteger (default: 30)нетНа сколько сдвинуть назад от текущего момента дату начала действия сертификата (backdate).
organizationarrayнетЕсли задано, поле O (Organization) получает это значение.
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
ouarrayнетЕсли задано, поле OU (OrganizationalUnit) получает это значение.
permitted_dns_domainsarrayнетДомены, для которых этот сертификат может подписывать или выпускать дочерние сертификаты. Если задано, все DNS-имена (subject и alt) в дочерних сертификатах должны точно совпадать с указанными доменами или быть их поддоменами (см. https://tools.ietf.org/html/rfc5280#section-4.2.1.10).
postal_codearrayнетЕсли задано, поле Postal Code получает это значение.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
provincearrayнетЕсли задано, поле Province (ST) получает это значение.
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
signature_bitsinteger (default: 0)нетКоличество бит в алгоритме подписи: 256 для SHA-2-256, 384 для SHA-2-384, 512 для SHA-2-512. По умолчанию 0 — автоматический выбор по длине ключа (SHA-2-256 для ключей RSA, по размеру кривой для кривых NIST P).
skidstring (default: )нетЗначение поля Subject Key Identifier (RFC 5280, раздел 4.2.1.2). Предназначено ТОЛЬКО для перекрестной подписи, чтобы воспроизвести SKID существующего сертификата; это нужно для некоторых реализаций TLS (например, OpenSSL), которые сопоставляют SKID/AKID при построении цепочек и тем самым ограничивают допустимые цепочки. Указывается строкой в шестнадцатеричном формате. По умолчанию пусто — Stronghold вычисляет SKID автоматически по первому методу из указанного раздела RFC.
street_addressarrayнетЕсли задано, поле Street Address получает это значение.
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL точки монтирования. Примечание: действует только при генерации или подписи сертификата CA, но не при генерации CSR для промежуточного CA.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.
use_csr_valuesboolean (default: False)нетЕсли true: 1) данные субъекта, включая имена и альтернативные имена, берутся из CSR, а не из других параметров этого пути; 2) запрошенные в CSR назначения ключа (key usages) добавляются к базовому набору назначений для сертификатов CA, подписанных этим путем, — например, флаг non-repudiation; 3) запрошенные в CSR расширения копируются в выпущенный сертификат.
use_pssboolean (default: False)нетИспользовать ли подписи PSS для эмитента с ключом типа RSA. По умолчанию false.

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка CA
certificatestringнетСертификат
expirationintegerнетВремя истечения срока действия
issuing_castringнетВыдающий CA
serial_numberstringнетСерийный номер

POST /{pki_mount_path}/issuer/{issuer_ref}/sign-revocation-list

ID операции: pki-issuer-sign-revocation-list

Сгенерировать и подписать CRL с указанными параметрами.

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
crl_numberintegerнетПорядковый номер, записываемый в расширение CRL Number.
delta_crl_base_numberinteger (default: -1)нетЗначение 0 или больше задает базовый номер ревизии CRL для расширения Delta CRL Indicator; иначе расширение не добавляется.
extensionsarrayнетСписок карт с расширениями с ключами id (string), critical (bool), value (string)
formatstring (default: pem)нетФормат объединенного CRL: “pem” или “der”. При “der” значение кодируется в base64. По умолчанию “pem”.
next_updatestring (default: 72h)нетСрок действия генерируемого CRL; по умолчанию 72 часа.
revoked_certsarrayнетСписок карт с ключами serial_number (string), revocation_time (string) и extensions (карта с ключами id (string), critical (bool), value (string))

Ответы

200: OK

ПараметрТипОбязательныйОписание
crlstringнетСписок отзыва

POST /{pki_mount_path}/issuer/{issuer_ref}/sign-self-issued

ID операции: pki-issuer-sign-self-issued

Перевыпустить самоподписанный сертификат на основе переданного сертификата.

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
certificatestringнетСамовыпущенный сертификат в формате PEM, который нужно подписать.
require_matching_certificate_algorithmsboolean (default: False)нетЕсли true, алгоритм открытого ключа подписывающей стороны должен совпадать с алгоритмом самовыпущенного сертификата.

Ответы

200: OK

ПараметрТипОбязательныйОписание
certificatestringнетСертификат
issuing_castringнетВыдающий CA

POST /{pki_mount_path}/issuer/{issuer_ref}/sign-verbatim

ID операции: pki-issuer-sign-verbatim

Выпустить сертификат напрямую на основе предоставленного CSR.

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Если для роли включена защита электронной почты, могут содержать адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если в роли включена защита электронной почты, это может быть адрес электронной почты.
csrstring (default: )нетПодписываемый CSR в формате PEM. Значения берутся из CSR без изменений, кроме Basic Constraints.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
ext_key_usagearray (default: [])нетСтрока через запятую или список расширенных назначений ключа (extended key usages). Допустимые значения см. на https://golang.org/pkg/crypto/x509/#ExtKeyUsage — без префикса “ExtKeyUsage” в имени. Чтобы не задавать никаких назначений, укажите пустой список.
ext_key_usage_oidsarrayнетСтрока через запятую или список OID расширенных назначений ключа.
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
key_usagearray (default: [‘DigitalSignature’, ‘KeyAgreement’, ‘KeyEncipherment’])нетСтрока через запятую или список назначений ключа (key usages, не extended key usages). Допустимые значения см. на https://golang.org/pkg/crypto/x509/#KeyUsage — без префикса “KeyUsage” в имени. Чтобы не задавать никаких назначений, укажите пустой список.
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
remove_roots_from_chainboolean (default: False)нетИсключать ли самоподписанные сертификаты CA из поля ca_chain.
rolestringнетРоль, конфигурация которой используется для этого запроса
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
signature_bitsinteger (default: 0)нетКоличество бит в алгоритме подписи: 256 для SHA-2-256, 384 для SHA-2-384, 512 для SHA-2-512. По умолчанию 0 — автоматический выбор по длине ключа (SHA-2-256 для ключей RSA, по размеру кривой для кривых NIST P).
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL роли.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.
use_pssboolean (default: False)нетИспользовать ли подписи PSS для эмитента с ключом типа RSA. По умолчанию false.
user_idsarrayнетЗапрашиваемые значения user_ids для субъекта (если есть) через запятую. Ограничиваются allowed_user_ids. Значения добавляются с OID 0.9.2342.19200300.100.1.1.

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка сертификатов
certificatestringнетСертификат
expirationintegerнетВремя истечения срока действия
issuing_castringнетВыдающий удостоверяющий центр
private_keystringнетЗакрытый ключ
private_key_typestringнетТип закрытого ключа
serial_numberstringнетСерийный номер

POST /{pki_mount_path}/issuer/{issuer_ref}/sign-verbatim/{role}

ID операции: pki-issuer-sign-verbatim-with-role

Выпустить сертификат напрямую на основе предоставленного CSR.

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
rolestringpathдаРоль, конфигурация которой используется для этого запроса
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Если для роли включена защита электронной почты, могут содержать адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если в роли включена защита электронной почты, это может быть адрес электронной почты.
csrstring (default: )нетПодписываемый CSR в формате PEM. Значения берутся из CSR без изменений, кроме Basic Constraints.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
ext_key_usagearray (default: [])нетСтрока через запятую или список расширенных назначений ключа (extended key usages). Допустимые значения см. на https://golang.org/pkg/crypto/x509/#ExtKeyUsage — без префикса “ExtKeyUsage” в имени. Чтобы не задавать никаких назначений, укажите пустой список.
ext_key_usage_oidsarrayнетСтрока через запятую или список OID расширенных назначений ключа.
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
key_usagearray (default: [‘DigitalSignature’, ‘KeyAgreement’, ‘KeyEncipherment’])нетСтрока через запятую или список назначений ключа (key usages, не extended key usages). Допустимые значения см. на https://golang.org/pkg/crypto/x509/#KeyUsage — без префикса “KeyUsage” в имени. Чтобы не задавать никаких назначений, укажите пустой список.
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
remove_roots_from_chainboolean (default: False)нетИсключать ли самоподписанные сертификаты CA из поля ca_chain.
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
signature_bitsinteger (default: 0)нетКоличество бит в алгоритме подписи: 256 для SHA-2-256, 384 для SHA-2-384, 512 для SHA-2-512. По умолчанию 0 — автоматический выбор по длине ключа (SHA-2-256 для ключей RSA, по размеру кривой для кривых NIST P).
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL роли.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.
use_pssboolean (default: False)нетИспользовать ли подписи PSS для эмитента с ключом типа RSA. По умолчанию false.
user_idsarrayнетЗапрашиваемые значения user_ids для субъекта (если есть) через запятую. Ограничиваются allowed_user_ids. Значения добавляются с OID 0.9.2342.19200300.100.1.1.

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка сертификатов
certificatestringнетСертификат
expirationintegerнетВремя истечения срока действия
issuing_castringнетВыдающий удостоверяющий центр
private_keystringнетЗакрытый ключ
private_key_typestringнетТип закрытого ключа
serial_numberstringнетСерийный номер

POST /{pki_mount_path}/issuer/{issuer_ref}/sign/{role}

ID операции: pki-issuer-sign-with-role

Запросить сертификаты с указанными параметрами по определенной роли.

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
rolestringpathдаРоль, конфигурация которой используется для этого запроса
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Если для роли включена защита электронной почты, могут содержать адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если в роли включена защита электронной почты, это может быть адрес электронной почты.
csrstring (default: )нетПодписываемый CSR в формате PEM.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
remove_roots_from_chainboolean (default: False)нетИсключать ли самоподписанные сертификаты CA из поля ca_chain.
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL роли.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.
user_idsarrayнетЗапрашиваемые значения user_ids для субъекта (если есть) через запятую. Ограничиваются allowed_user_ids. Значения добавляются с OID 0.9.2342.19200300.100.1.1.

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка сертификатов
certificatestringнетСертификат
expirationintegerнетВремя истечения срока действия
issuing_castringнетВыдающий удостоверяющий центр
private_keystringнетЗакрытый ключ
private_key_typestringнетТип закрытого ключа
serial_numberstringнетСерийный номер

GET /{pki_mount_path}/issuer/{issuer_ref}/unified-crl

ID операции: pki-issuer-read-unified-crl

Получить список отзыва сертификатов (CRL) эмитента.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
crlstringнет

GET /{pki_mount_path}/issuer/{issuer_ref}/unified-crl/delta

ID операции: pki-issuer-read-unified-crl-delta

Получить список отзыва сертификатов (CRL) эмитента.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
crlstringнет

GET /{pki_mount_path}/issuer/{issuer_ref}/unified-crl/delta/der

ID операции: pki-issuer-read-unified-crl-delta-der

Получить список отзыва сертификатов (CRL) эмитента.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
crlstringнет

GET /{pki_mount_path}/issuer/{issuer_ref}/unified-crl/delta/pem

ID операции: pki-issuer-read-unified-crl-delta-pem

Получить список отзыва сертификатов (CRL) эмитента.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
crlstringнет

GET /{pki_mount_path}/issuer/{issuer_ref}/unified-crl/der

ID операции: pki-issuer-read-unified-crl-der

Получить список отзыва сертификатов (CRL) эмитента.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
crlstringнет

GET /{pki_mount_path}/issuer/{issuer_ref}/unified-crl/pem

ID операции: pki-issuer-read-unified-crl-pem

Получить список отзыва сертификатов (CRL) эмитента.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
issuer_refstringpathдаСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
crlstringнет

GET /{pki_mount_path}/issuers

ID операции: pki-list-issuers

Получить список сертификатов CA.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

ПараметрТипОбязательныйОписание
key_infoobjectнетИнформация о ключе с именем эмитента
keysarrayнетСписок ключей

POST /{pki_mount_path}/issuers/generate/intermediate/{exported}

ID операции: pki-issuers-generate-intermediate

Сгенерировать новый CSR и закрытый ключ для подписи.

Параметры

ПараметрТипРасположениеОбязательныйОписание
exportedstring (internal, exported, kms)pathдаДопустимые значения: “internal”, “exported” или “kms”. При значении “exported” сгенерированный закрытый ключ возвращается в ответе. Это *единственная* возможность получить закрытый ключ!
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
add_basic_constraintsbooleanнетДобавлять ли расширение Basic Constraints с CA: true. Требуется только как обходной путь в некоторых сценариях совместимости со службами сертификатов Active Directory.
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Могут содержать DNS-имена и адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если не указано при подписи, CN берется из CSR; остальные имена все равно нужно указать в alt_names или ip_sans.
countryarrayнетЕсли задано, поле Country (C) получает это значение.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
key_bitsinteger (default: 0)нетКоличество бит. Допустимые значения: 0 (универсальное значение по умолчанию); для key_type rsa — 2048 (по умолчанию), 3072 или 4096; для key_type ec — 224, 256 (по умолчанию), 384 или 521; для ed25519 игнорируется.
key_namestringнетИмя для сгенерированного или существующего ключа; должно быть уникальным среди всех ключей и не может быть зарезервированным значением ‘default’
key_refstring (default: default)нетСсылка на существующий ключ: “default” для настроенного ключа по умолчанию, идентификатор или имя ключа.
key_typestring (rsa, ec, ed25519, gost3410-256-paramset-a, gost3410-256-paramset-b, gost3410-256-paramset-c, gost3410-256-paramset-d, gost3410-512-paramset-a, gost3410-512-paramset-b, gost3410-512-paramset-c) (default: rsa)нетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c”.
localityarrayнетЕсли задано, поле Locality (L) получает это значение.
managed_key_idstringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_name. Для других типов игнорируется.
managed_key_namestringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_id. Для других типов игнорируется.
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
not_before_durationinteger (default: 30)нетНа сколько сдвинуть назад от текущего момента дату начала действия сертификата (backdate).
organizationarrayнетЕсли задано, поле O (Organization) получает это значение.
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
ouarrayнетЕсли задано, поле OU (OrganizationalUnit) получает это значение.
postal_codearrayнетЕсли задано, поле Postal Code получает это значение.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
provincearrayнетЕсли задано, поле Province (ST) получает это значение.
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
signature_bitsinteger (default: 0)нетКоличество бит в алгоритме подписи: 256 для SHA-2-256, 384 для SHA-2-384, 512 для SHA-2-512. По умолчанию 0 — автоматический выбор по длине ключа (SHA-2-256 для ключей RSA, по размеру кривой для кривых NIST P).
street_addressarrayнетЕсли задано, поле Street Address получает это значение.
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL точки монтирования. Примечание: действует только при генерации или подписи сертификата CA, но не при генерации CSR для промежуточного CA.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.

Ответы

200: OK

ПараметрТипОбязательныйОписание
csrstringнетЗапрос на подпись сертификата (CSR).
key_idstringнетИдентификатор ключа.
private_keystringнетСгенерированный закрытый ключ.
private_key_typestringнетФормат сериализации закрытого ключа.

POST /{pki_mount_path}/issuers/generate/root/{exported}

ID операции: pki-issuers-generate-root

Сгенерировать новый сертификат CA и закрытый ключ для подписи.

Параметры

ПараметрТипРасположениеОбязательныйОписание
exportedstring (internal, exported, kms)pathдаДопустимые значения: “internal”, “exported” или “kms”. При значении “exported” сгенерированный закрытый ключ возвращается в ответе. Это *единственная* возможность получить закрытый ключ!
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Могут содержать DNS-имена и адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если не указано при подписи, CN берется из CSR; остальные имена все равно нужно указать в alt_names или ip_sans.
countryarrayнетЕсли задано, поле Country (C) получает это значение.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
issuer_namestringнетИмя для создаваемого или существующего эмитента; должно быть уникальным среди всех эмитентов и не может быть зарезервированным значением ‘default’
key_bitsinteger (default: 0)нетКоличество бит. Допустимые значения: 0 (универсальное значение по умолчанию); для key_type rsa — 2048 (по умолчанию), 3072 или 4096; для key_type ec — 224, 256 (по умолчанию), 384 или 521; для ed25519 игнорируется.
key_namestringнетИмя для сгенерированного или существующего ключа; должно быть уникальным среди всех ключей и не может быть зарезервированным значением ‘default’
key_refstring (default: default)нетСсылка на существующий ключ: “default” для настроенного ключа по умолчанию, идентификатор или имя ключа.
key_typestring (rsa, ec, ed25519, gost3410-256-paramset-a, gost3410-256-paramset-b, gost3410-256-paramset-c, gost3410-256-paramset-d, gost3410-512-paramset-a, gost3410-512-paramset-b, gost3410-512-paramset-c) (default: rsa)нетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c”.
localityarrayнетЕсли задано, поле Locality (L) получает это значение.
managed_key_idstringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_name. Для других типов игнорируется.
managed_key_namestringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_id. Для других типов игнорируется.
max_path_lengthinteger (default: -1)нетМаксимально допустимая длина пути
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
not_before_durationinteger (default: 30)нетНа сколько сдвинуть назад от текущего момента дату начала действия сертификата (backdate).
organizationarrayнетЕсли задано, поле O (Organization) получает это значение.
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
ouarrayнетЕсли задано, поле OU (OrganizationalUnit) получает это значение.
permitted_dns_domainsarrayнетДомены, для которых этот сертификат может подписывать или выпускать дочерние сертификаты. Если задано, все DNS-имена (subject и alt) в дочерних сертификатах должны точно совпадать с указанными доменами или быть их поддоменами (см. https://tools.ietf.org/html/rfc5280#section-4.2.1.10).
postal_codearrayнетЕсли задано, поле Postal Code получает это значение.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
provincearrayнетЕсли задано, поле Province (ST) получает это значение.
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
signature_bitsinteger (default: 0)нетКоличество бит в алгоритме подписи: 256 для SHA-2-256, 384 для SHA-2-384, 512 для SHA-2-512. По умолчанию 0 — автоматический выбор по длине ключа (SHA-2-256 для ключей RSA, по размеру кривой для кривых NIST P).
street_addressarrayнетЕсли задано, поле Street Address получает это значение.
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL точки монтирования. Примечание: действует только при генерации или подписи сертификата CA, но не при генерации CSR для промежуточного CA.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.
use_pssboolean (default: False)нетИспользовать ли подписи PSS для эмитента с ключом типа RSA. По умолчанию false.

Ответы

200: OK

ПараметрТипОбязательныйОписание
certificatestringнетСгенерированный самоподписанный сертификат CA.
expirationintegerнетСрок действия указанного эмитента.
issuer_idstringнетИдентификатор эмитента
issuer_namestringнетИмя эмитента.
issuing_castringнетВыдающий удостоверяющий центр.
key_idstringнетИдентификатор ключа.
key_namestringнетИмя ключа, если указано.
private_keystringнетЗакрытый ключ, если был указан тип exported.
serial_numberstringнетЗапрошенный серийный номер (serialNumber) субъекта.

POST /{pki_mount_path}/issuers/import/bundle

ID операции: pki-issuers-import-bundle

Импортировать указанные сертификаты эмитентов.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
pem_bundlestringнетОбъединенные в формате PEM незашифрованный закрытый ключ (необязательно) и сертификаты.

Ответы

200: OK

ПараметрТипОбязательныйОписание
existing_issuersarrayнетУже существующие эмитенты, указанные в импортируемом бандле этого запроса
existing_keysarrayнетУже существующие ключи, указанные в импортируемом бандле этого запроса
imported_issuersarrayнетНовые эмитенты, импортированные в рамках этого запроса
imported_keysarrayнетНовые ключи, импортированные в рамках этого запроса
mappingobjectнетСопоставление issuer_id и key_id для всех эмитентов, включенных в этот запрос

POST /{pki_mount_path}/issuers/import/cert

ID операции: pki-issuers-import-cert

Импортировать указанные сертификаты эмитентов.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
pem_bundlestringнетОбъединенные в формате PEM незашифрованный закрытый ключ (необязательно) и сертификаты.

Ответы

200: OK

ПараметрТипОбязательныйОписание
existing_issuersarrayнетУже существующие эмитенты, указанные в импортируемом бандле этого запроса
existing_keysarrayнетУже существующие ключи, указанные в импортируемом бандле этого запроса
imported_issuersarrayнетНовые эмитенты, импортированные в рамках этого запроса
imported_keysarrayнетНовые ключи, импортированные в рамках этого запроса
mappingobjectнетСопоставление issuer_id и key_id для всех эмитентов, включенных в этот запрос

GET /{pki_mount_path}/key/{key_ref}

ID операции: pki-read-key

Получить один ключ эмитента

Параметры

ПараметрТипРасположениеОбязательныйОписание
key_refstringpathдаСсылка на ключ: “default” для настроенного ключа по умолчанию, идентификатор или имя ключа.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
key_idstringнетИдентификатор ключа
key_namestringнетИмя ключа
key_typestringнетТип ключа
managed_key_idstringнетИдентификатор управляемого ключа
managed_key_namestringнетИмя управляемого ключа
subject_key_idstringнетИдентификатор ключа субъекта (Subject Key Identifier, RFC 5280) соответствующего открытого ключа

POST /{pki_mount_path}/key/{key_ref}

ID операции: pki-write-key

Получить один ключ эмитента

Параметры

ПараметрТипРасположениеОбязательныйОписание
key_refstringpathдаСсылка на ключ: “default” для настроенного ключа по умолчанию, идентификатор или имя ключа.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
key_namestringнетПонятное человеку имя этого ключа.

Ответы

204: OK

ПараметрТипОбязательныйОписание
key_idstringнетИдентификатор ключа
key_namestringнетИмя ключа
key_typestringнетТип ключа

DELETE /{pki_mount_path}/key/{key_ref}

ID операции: pki-delete-key

Получить один ключ эмитента

Параметры

ПараметрТипРасположениеОбязательныйОписание
key_refstringpathдаСсылка на ключ: “default” для настроенного ключа по умолчанию, идентификатор или имя ключа.
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: No Content

GET /{pki_mount_path}/keys

ID операции: pki-list-keys

Получить список всех ключей эмитентов

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

ПараметрТипОбязательныйОписание
key_infoobjectнетИнформация о ключе с именем эмитента
keysarrayнетСписок ключей

POST /{pki_mount_path}/keys/generate/exported

ID операции: pki-generate-exported-key

Сгенерировать новый закрытый ключ для подписи.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
key_bitsinteger (default: 0)нетКоличество бит. Допустимые значения: 0 (универсальное значение по умолчанию); для key_type rsa — 2048 (по умолчанию), 3072 или 4096; для key_type ec — 224, 256 (по умолчанию), 384 или 521; для ed25519 игнорируется.
key_namestringнетНеобязательное имя этого ключа
key_typestring (rsa, ec, ed25519, gost3410-256-paramset-a, gost3410-256-paramset-b, gost3410-256-paramset-c, gost3410-256-paramset-d, gost3410-512-paramset-a, gost3410-512-paramset-b, gost3410-512-paramset-c) (default: rsa)нетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c”.
managed_key_idstringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_name. Для других типов игнорируется.
managed_key_namestringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_id. Для других типов игнорируется.

Ответы

200: OK

ПараметрТипОбязательныйОписание
key_idstringнетИдентификатор, присвоенный этому ключу.
key_namestringнетИмя, назначенное этому ключу.
key_typestringнетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c”.
private_keystringнетСтрока закрытого ключа

POST /{pki_mount_path}/keys/generate/internal

ID операции: pki-generate-internal-key

Сгенерировать новый закрытый ключ для подписи.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
key_bitsinteger (default: 0)нетКоличество бит. Допустимые значения: 0 (универсальное значение по умолчанию); для key_type rsa — 2048 (по умолчанию), 3072 или 4096; для key_type ec — 224, 256 (по умолчанию), 384 или 521; для ed25519 игнорируется.
key_namestringнетНеобязательное имя этого ключа
key_typestring (rsa, ec, ed25519, gost3410-256-paramset-a, gost3410-256-paramset-b, gost3410-256-paramset-c, gost3410-256-paramset-d, gost3410-512-paramset-a, gost3410-512-paramset-b, gost3410-512-paramset-c) (default: rsa)нетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c”.
managed_key_idstringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_name. Для других типов игнорируется.
managed_key_namestringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_id. Для других типов игнорируется.

Ответы

200: OK

ПараметрТипОбязательныйОписание
key_idstringнетИдентификатор, присвоенный этому ключу.
key_namestringнетИмя, назначенное этому ключу.
key_typestringнетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c”.
private_keystringнетСтрока закрытого ключа

POST /{pki_mount_path}/keys/generate/kms

ID операции: pki-generate-kms-key

Сгенерировать новый закрытый ключ для подписи.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
key_bitsinteger (default: 0)нетКоличество бит. Допустимые значения: 0 (универсальное значение по умолчанию); для key_type rsa — 2048 (по умолчанию), 3072 или 4096; для key_type ec — 224, 256 (по умолчанию), 384 или 521; для ed25519 игнорируется.
key_namestringнетНеобязательное имя этого ключа
key_typestring (rsa, ec, ed25519, gost3410-256-paramset-a, gost3410-256-paramset-b, gost3410-256-paramset-c, gost3410-256-paramset-d, gost3410-512-paramset-a, gost3410-512-paramset-b, gost3410-512-paramset-c) (default: rsa)нетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c”.
managed_key_idstringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_name. Для других типов игнорируется.
managed_key_namestringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_id. Для других типов игнорируется.

Ответы

200: OK

ПараметрТипОбязательныйОписание
key_idstringнетИдентификатор, присвоенный этому ключу.
key_namestringнетИмя, назначенное этому ключу.
key_typestringнетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c”.
private_keystringнетСтрока закрытого ключа

POST /{pki_mount_path}/keys/import

ID операции: pki-import-key

Импортировать указанный ключ.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
key_namestringнетНеобязательное имя этого ключа
pem_bundlestringнетНезашифрованный закрытый ключ в формате PEM

Ответы

200: OK

ПараметрТипОбязательныйОписание
key_idstringнетИдентификатор, присвоенный этому ключу.
key_namestringнетИмя, назначенное этому ключу.
key_typestringнетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c”.

POST /{pki_mount_path}/ocsp

ID операции: pki-query-ocsp

Запросить статус отзыва сертификата через OCSP

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{pki_mount_path}/ocsp/{req}

ID операции: pki-query-ocsp-with-get-req

Запросить статус отзыва сертификата через OCSP

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
reqstringpathдаЗапрос OCSP в кодировке base64
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{pki_mount_path}/revoke

ID операции: pki-revoke

Отозвать сертификат по серийному номеру или по самому сертификату. При вызове /revoke-with-key для аутентификации запроса нужно передать закрытый ключ, соответствующий сертификату.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
certificatestringнетОтзываемый сертификат в формате PEM; должен быть подписан эмитентом этой точки монтирования.
serial_numberstringнетСерийный номер сертификата в шестнадцатеричном виде с разделителями-двоеточиями или дефисами

Ответы

200: OK

ПараметрТипОбязательныйОписание
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва
statestringнетСостояние отзыва

POST /{pki_mount_path}/revoke-with-key

ID операции: pki-revoke-with-key

Отозвать сертификат по серийному номеру или по самому сертификату. При вызове /revoke-with-key для аутентификации запроса нужно передать закрытый ключ, соответствующий сертификату.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
certificatestringнетОтзываемый сертификат в формате PEM; должен быть подписан эмитентом этой точки монтирования.
private_keystringнетКлюч для подтверждения права на отзыв в формате PEM.
serial_numberstringнетСерийный номер сертификата в шестнадцатеричном виде с разделителями-двоеточиями или дефисами

Ответы

200: OK

ПараметрТипОбязательныйОписание
revocation_timeintegerнетВремя отзыва
revocation_time_rfc3339stringнетВремя отзыва
statestringнетСостояние отзыва

GET /{pki_mount_path}/roles

ID операции: pki-list-roles

Получить список существующих ролей в этом бэкенде

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

ПараметрТипОбязательныйОписание
keysarrayнетСписок ролей

GET /{pki_mount_path}/roles/{name}

ID операции: pki-read-role

Управление ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
allow_any_namebooleanнетЕсли задано, клиенты могут запрашивать сертификаты для любого домена независимо от ограничений allowed_domains. Подробнее см. в документации.
allow_bare_domainsbooleanнетЕсли задано, клиенты могут запрашивать сертификаты для самих базовых доменов из allowed_domains, например “example.com”. Это отдельный параметр, поскольку в некоторых случаях это может считаться угрозой безопасности. Подробнее см. в документации.
allow_glob_domainsbooleanнетЕсли задано, домены в allowed_domains могут содержать glob-шаблоны в стиле shell, например “ftp*.example.com”. Подробнее см. в документации.
allow_ip_sansbooleanнетЕсли задано, разрешены IP SAN. Принимается любой корректный IP-адрес, проверка полномочий не выполняется.
allow_localhostbooleanнетРазрешать ли “localhost” и “localdomain” в качестве общего имени (CN) в запросе независимо от allowed_domains.
allow_subdomainsbooleanнетЕсли задано, клиенты могут запрашивать сертификаты для поддоменов доменов из allowed_domains, включая wildcard-поддомены. Подробнее см. в документации.
allow_token_displaynamebooleanнетРазрешать ли “localhost” и “localdomain” в качестве общего имени (CN) в запросе независимо от allowed_domains.
allow_wildcard_certificatesbooleanнетЕсли задано, разрешается выпускать сертификаты с подстановочными символами (wildcard) в общем имени в соответствии с RFC 6125, раздел 6.4.3, например “.example.net” или “bz.example.net”. Подробнее см. в документации.
allowed_domainsarrayнетДомены, для которых эта роль может выпускать сертификаты. Используется вместе с allow_bare_domains, allow_subdomains и allow_glob_domains для проверки общего имени, а также SAN типа DNS и Email в сертификатах. Подробнее см. в документации. Принимает строку через запятую или список доменов.
allowed_domains_templatebooleanнетЕсли задано, разрешенные домены можно указывать с помощью шаблонов политик Identity. Домены без шаблонов также допускаются.
allowed_other_sansarrayнетЕсли задано, массив разрешенных других имен (other names) для SAN. Поддерживает glob-шаблоны; формат ;:. Допустимые типы: “utf8” — otherName со значением UTF8String, “ia5” — со значением IA5String, “krb5” — KRB5PrincipalName из RFC 4556; этот тип определен только для OID 1.3.6.1.5.2.2, а значение записывается в обычной форме Kerberos, например “1.3.6.1.5.2.2;krb5:host/@EXAMPLE.COM”. Значение сравнивается только с записями своего типа. Все значения, в том числе glob-шаблоны, должны использовать этот синтаксис; исключение — одиночный “”, разрешающий любой OID, тип и значение.
allowed_serial_numbersarrayнетЕсли задано, массив разрешенных серийных номеров для Subject. Поддерживает glob-шаблоны.
allowed_uri_sansarrayнетЕсли задано, массив разрешенных URI для URI SAN. Принимается любой корректный URI; поддерживаются glob-шаблоны.
allowed_uri_sans_templatebooleanнетЕсли задано, разрешенные URI SAN можно указывать с помощью шаблонов политик Identity. URI SAN без шаблонов также допускаются.
allowed_user_idsarrayнетЕсли задано, массив разрешенных идентификаторов пользователей (user ID) для атрибута системного имени входа пользователя, описанного здесь: https://www.rfc-editor.org/rfc/rfc1274#section-9.3.1
basic_constraints_valid_for_non_cabooleanнетПомечать расширение Basic Constraints как действительное при выпуске сертификатов, не являющихся CA.
client_flagbooleanнетЕсли задано, сертификаты помечаются для клиентской аутентификации (client auth). По умолчанию true. См. также RFC 5280, раздел 4.2.1.12.
cn_validationsarrayнетСписок проверок, применяемых к полю Common Name. Возможные значения: ’email’ — CN должен быть адресом электронной почты; ‘hostname’ — CN должен быть корректным именем хоста (возможно, с подстановочными символами). Если указано несколько проверок, они объединяются через ИЛИ (допустим либо email, либо hostname). Специальное значение ‘disabled’ отключает все проверки CN и разрешает произвольные значения.
code_signing_flagbooleanнетЕсли задано, сертификаты помечаются для подписи кода (code signing). По умолчанию false. См. также RFC 5280, раздел 4.2.1.12.
countryarrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле Country (C) получает это значение.
email_protection_flagbooleanнетЕсли задано, сертификаты помечаются для защиты электронной почты (email protection). По умолчанию false. См. также RFC 5280, раздел 4.2.1.12.
enforce_hostnamesbooleanнетЕсли задано, в CN, DNS SAN и в доменной части адресов электронной почты допускаются только корректные имена хостов. По умолчанию true.
ext_key_usagearrayнетСтрока через запятую или список расширенных назначений ключа (extended key usages). Допустимые значения см. на https://golang.org/pkg/crypto/x509/#ExtKeyUsage — без префикса “ExtKeyUsage” в имени. Чтобы не задавать никаких назначений, укажите пустой список. См. также RFC 5280, раздел 4.2.1.12.
ext_key_usage_oidsarrayнетСтрока через запятую или список OID расширенных назначений ключа.
generate_leasebooleanнетЕсли задано, к сертификатам, выпущенным или подписанным по этой роли, привязываются аренды Stronghold. По умолчанию “false”. Если сертификаты связаны с арендами, их можно добавить в CRL командой “stronghold revoke <lease_id>” или через конечную точку “pki/revoke”. Если генерация аренд отключена, добавить сертификаты в CRL можно только через “pki/revoke”. При генерации большого количества долгоживущих сертификатов рекомендуется отключить генерацию аренд, поскольку большое число аренд увеличивает время запуска Stronghold.
issuer_refstringнетСсылка на эмитента, которым подписываются запросы, обслуживаемые этой ролью.
key_bitsintegerнетКоличество бит. Допустимые значения: 0 (универсальное значение по умолчанию); для key_type rsa — 2048 (по умолчанию), 3072 или 4096; для key_type ec — 224, 256 (по умолчанию), 384 или 521; для ed25519 игнорируется.
key_typestringнетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c” и “any”.
key_usagearrayнетСтрока через запятую или список назначений ключа (key usages, не extended key usages). Допустимые значения см. на https://golang.org/pkg/crypto/x509/#KeyUsage — без префикса “KeyUsage” в имени. Чтобы не задавать никаких назначений, укажите пустой список. См. также RFC 5280, раздел 4.2.1.3.
localityarrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле Locality (L) получает это значение.
max_ttlintegerнетМаксимально допустимый срок аренды. Если не задан, используется системный максимальный TTL аренды.
no_storebooleanнетЕсли задано, сертификаты, выпущенные или подписанные по этой роли, не сохраняются в хранилище бэкенда. Это повышает производительность при выпуске большого количества сертификатов. Однако такие сертификаты нельзя перечислить или отозвать, поэтому параметр рекомендуется только для некритичных или очень короткоживущих сертификатов. Подразумевает “false” для “generate_lease”.
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ.
not_before_durationintegerнетНа сколько секунд сдвинуть назад от текущего момента дату начала действия сертификата (backdate).
organizationarrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле O (Organization) получает это значение.
ouarrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле OU (OrganizationalUnit) получает это значение.
policy_identifiersarrayнетСтрока через запятую или список OID политик либо JSON-список с подробными данными политик, который должен содержать oid и может содержать notice и/или URL cps, в формате [{“oid”=“1.3.6.1.4.1.7.8”,“notice”=“I am a user Notice”}, {“oid”=“1.3.6.1.4.1.44947.1.2.4 “,“cps”="https://example.com”}].
postal_codearrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле Postal Code получает это значение.
provincearrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле Province (ST) получает это значение.
require_cnbooleanнетЕсли false, поле ‘common_name’ при генерации сертификата становится необязательным.
server_flagboolean (default: True)нетЕсли задано, сертификаты помечаются для серверной аутентификации (server auth). По умолчанию true. См. также RFC 5280, раздел 4.2.1.12.
signature_bitsintegerнетКоличество бит в алгоритме подписи: 256 для SHA-2-256, 384 для SHA-2-384, 512 для SHA-2-512. По умолчанию 0 — автоматический выбор по длине ключа (SHA-2-256 для ключей RSA, по размеру кривой для кривых NIST P).
single_valued_rdnsboolean (default: False)нетЕсли true, каждое значение атрибута субъекта (Country, Organization, OU и т. д.) кодируется в сертификате как отдельный однозначный RDN. Так поступает большинство CA (OpenSSL, Microsoft CA). Если false, все значения атрибутов одного типа объединяются в один многозначный RDN.
street_addressarrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле Street Address получает это значение.
ttlintegerнетСрок аренды (срок действия сертификата), если конкретный срок не запрошен. Определяет срок действия сертификатов, выпускаемых этим бэкендом. По умолчанию — системное значение или max_ttl, в зависимости от того, что меньше.
use_csr_common_namebooleanнетЕсли задано, при использовании с профилем подписи берется общее имя (CN) из CSR. Запрошенные альтернативные имена субъекта сюда *не* входят — для них используйте use_csr_sans. По умолчанию true.
use_csr_sansbooleanнетЕсли задано, при использовании с профилем подписи берутся SAN из CSR. Общее имя (CN) сюда *не* входит — для него используйте use_csr_common_name. По умолчанию true.
use_pssbooleanнетИспользовать ли подписи PSS для эмитента с ключом типа RSA. По умолчанию false.

POST /{pki_mount_path}/roles/{name}

ID операции: pki-write-role

Управление ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
allow_any_namebooleanнетЕсли задано, клиенты могут запрашивать сертификаты для любого домена независимо от ограничений allowed_domains. Подробнее см. в документации.
allow_bare_domainsbooleanнетЕсли задано, клиенты могут запрашивать сертификаты для самих базовых доменов из allowed_domains, например “example.com”. Это отдельный параметр, поскольку в некоторых случаях это может считаться угрозой безопасности. Подробнее см. в документации.
allow_glob_domainsbooleanнетЕсли задано, домены в allowed_domains могут содержать glob-шаблоны в стиле shell, например “ftp*.example.com”. Подробнее см. в документации.
allow_ip_sansboolean (default: True)нетЕсли задано, разрешены IP SAN. Принимается любой корректный IP-адрес, проверка полномочий не выполняется.
allow_localhostboolean (default: True)нетРазрешать ли “localhost” и “localdomain” в качестве общего имени (CN) в запросе независимо от allowed_domains.
allow_subdomainsbooleanнетЕсли задано, клиенты могут запрашивать сертификаты для поддоменов доменов из allowed_domains, включая wildcard-поддомены. Подробнее см. в документации.
allow_wildcard_certificatesboolean (default: True)нетЕсли задано, разрешается выпускать сертификаты с подстановочными символами (wildcard) в общем имени в соответствии с RFC 6125, раздел 6.4.3, например “.example.net” или “bz.example.net”. Подробнее см. в документации.
allowed_domainsarrayнетДомены, для которых эта роль может выпускать сертификаты. Используется вместе с allow_bare_domains, allow_subdomains и allow_glob_domains для проверки общего имени, а также SAN типа DNS и Email в сертификатах. Подробнее см. в документации. Принимает строку через запятую или список доменов.
allowed_domains_templateboolean (default: False)нетЕсли задано, разрешенные домены можно указывать с помощью шаблонов политик Identity. Домены без шаблонов также допускаются.
allowed_other_sansarrayнетЕсли задано, массив разрешенных других имен (other names) для SAN. Поддерживает glob-шаблоны; формат ;:. Допустимые типы: “utf8” — otherName со значением UTF8String, “ia5” — со значением IA5String, “krb5” — KRB5PrincipalName из RFC 4556; этот тип определен только для OID 1.3.6.1.5.2.2, а значение записывается в обычной форме Kerberos, например “1.3.6.1.5.2.2;krb5:host/@EXAMPLE.COM”. Значение сравнивается только с записями своего типа. Все значения, в том числе glob-шаблоны, должны использовать этот синтаксис; исключение — одиночный “”, разрешающий любой OID, тип и значение.
allowed_serial_numbersarrayнетЕсли задано, массив разрешенных серийных номеров для Subject. Поддерживает glob-шаблоны.
allowed_uri_sansarrayнетЕсли задано, массив разрешенных URI для URI SAN. Принимается любой корректный URI; поддерживаются glob-шаблоны.
allowed_uri_sans_templateboolean (default: False)нетЕсли задано, разрешенные URI SAN можно указывать с помощью шаблонов политик Identity. URI SAN без шаблонов также допускаются.
allowed_user_idsarrayнетЕсли задано, массив разрешенных идентификаторов пользователей (user ID) для атрибута системного имени входа пользователя, описанного здесь: https://www.rfc-editor.org/rfc/rfc1274#section-9.3.1
backendstringнетТип бэкенда
basic_constraints_valid_for_non_cabooleanнетПомечать расширение Basic Constraints как действительное при выпуске сертификатов, не являющихся CA.
client_flagboolean (default: True)нетЕсли задано, сертификаты помечаются для клиентской аутентификации (client auth). По умолчанию true. См. также RFC 5280, раздел 4.2.1.12.
cn_validationsarray (default: [’email’, ‘hostname’])нетСписок проверок, применяемых к полю Common Name. Возможные значения: ’email’ — CN должен быть адресом электронной почты; ‘hostname’ — CN должен быть корректным именем хоста (возможно, с подстановочными символами). Если указано несколько проверок, они объединяются через ИЛИ (допустим либо email, либо hostname). Специальное значение ‘disabled’ отключает все проверки CN и разрешает произвольные значения.
code_signing_flagbooleanнетЕсли задано, сертификаты помечаются для подписи кода (code signing). По умолчанию false. См. также RFC 5280, раздел 4.2.1.12.
countryarrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле Country (C) получает это значение.
email_protection_flagbooleanнетЕсли задано, сертификаты помечаются для защиты электронной почты (email protection). По умолчанию false. См. также RFC 5280, раздел 4.2.1.12.
enforce_hostnamesboolean (default: True)нетЕсли задано, в CN, DNS SAN и в доменной части адресов электронной почты допускаются только корректные имена хостов. По умолчанию true.
ext_key_usagearray (default: [])нетСтрока через запятую или список расширенных назначений ключа (extended key usages). Допустимые значения см. на https://golang.org/pkg/crypto/x509/#ExtKeyUsage — без префикса “ExtKeyUsage” в имени. Чтобы не задавать никаких назначений, укажите пустой список. См. также RFC 5280, раздел 4.2.1.12.
ext_key_usage_oidsarrayнетСтрока через запятую или список OID расширенных назначений ключа.
generate_leasebooleanнетЕсли задано, к сертификатам, выпущенным или подписанным по этой роли, привязываются аренды Stronghold. По умолчанию “false”. Если сертификаты связаны с арендами, их можно добавить в CRL командой “stronghold revoke <lease_id>” или через конечную точку “pki/revoke”. Если генерация аренд отключена, добавить сертификаты в CRL можно только через “pki/revoke”. При генерации большого количества долгоживущих сертификатов рекомендуется отключить генерацию аренд, поскольку большое число аренд увеличивает время запуска Stronghold.
issuer_refstring (default: default)нетСсылка на эмитента, которым подписываются запросы, обслуживаемые этой ролью.
key_bitsinteger (default: 0)нетКоличество бит. Допустимые значения: 0 (универсальное значение по умолчанию); для key_type rsa — 2048 (по умолчанию), 3072 или 4096; для key_type ec — 224, 256 (по умолчанию), 384 или 521; для ed25519 игнорируется.
key_typestring (rsa, ec, ed25519, gost3410-256-paramset-a, gost3410-256-paramset-b, gost3410-256-paramset-c, gost3410-256-paramset-d, gost3410-512-paramset-a, gost3410-512-paramset-b, gost3410-512-paramset-c, any) (default: rsa)нетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c” и “any”.
key_usagearray (default: [‘DigitalSignature’, ‘KeyAgreement’, ‘KeyEncipherment’])нетСтрока через запятую или список назначений ключа (key usages, не extended key usages). Допустимые значения см. на https://golang.org/pkg/crypto/x509/#KeyUsage — без префикса “KeyUsage” в имени. Чтобы не задавать никаких назначений, укажите пустой список. См. также RFC 5280, раздел 4.2.1.3.
localityarrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле Locality (L) получает это значение.
max_ttlintegerнетМаксимально допустимый срок аренды. Если не задан, используется системный максимальный TTL аренды.
no_storebooleanнетЕсли задано, сертификаты, выпущенные или подписанные по этой роли, не сохраняются в хранилище бэкенда. Это повышает производительность при выпуске большого количества сертификатов. Однако такие сертификаты нельзя перечислить или отозвать, поэтому параметр рекомендуется только для некритичных или очень короткоживущих сертификатов. Подразумевает “false” для “generate_lease”.
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ.
not_before_durationinteger (default: 30)нетНа сколько сдвинуть назад от текущего момента дату начала действия сертификата (backdate).
organizationarrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле O (Organization) получает это значение.
ouarrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле OU (OrganizationalUnit) получает это значение.
policy_identifiersarrayнетСтрока через запятую или список OID политик либо JSON-список с подробными данными политик, который должен содержать oid и может содержать notice и/или URL cps, в формате [{“oid”=“1.3.6.1.4.1.7.8”,“notice”=“I am a user Notice”}, {“oid”=“1.3.6.1.4.1.44947.1.2.4 “,“cps”="https://example.com”}].
postal_codearrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле Postal Code получает это значение.
provincearrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле Province (ST) получает это значение.
require_cnboolean (default: True)нетЕсли false, поле ‘common_name’ при генерации сертификата становится необязательным.
server_flagboolean (default: True)нетЕсли задано, сертификаты помечаются для серверной аутентификации (server auth). По умолчанию true. См. также RFC 5280, раздел 4.2.1.12.
signature_bitsinteger (default: 0)нетКоличество бит в алгоритме подписи: 256 для SHA-2-256, 384 для SHA-2-384, 512 для SHA-2-512. По умолчанию 0 — автоматический выбор по длине ключа (SHA-2-256 для ключей RSA, по размеру кривой для кривых NIST P).
single_valued_rdnsboolean (default: False)нетЕсли true, каждое значение атрибута субъекта (Country, Organization, OU и т. д.) кодируется в сертификате как отдельный однозначный RDN. Так поступает большинство CA (OpenSSL, Microsoft CA). Если false, все значения атрибутов одного типа объединяются в один многозначный RDN.
street_addressarrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле Street Address получает это значение.
ttlintegerнетСрок аренды (срок действия сертификата), если конкретный срок не запрошен. Определяет срок действия сертификатов, выпускаемых этим бэкендом. По умолчанию — системное значение или max_ttl, в зависимости от того, что меньше.
use_csr_common_nameboolean (default: True)нетЕсли задано, при использовании с профилем подписи берется общее имя (CN) из CSR. Запрошенные альтернативные имена субъекта сюда *не* входят — для них используйте use_csr_sans. По умолчанию true.
use_csr_sansboolean (default: True)нетЕсли задано, при использовании с профилем подписи берутся SAN из CSR. Общее имя (CN) сюда *не* входит — для него используйте use_csr_common_name. По умолчанию true.
use_pssboolean (default: False)нетИспользовать ли подписи PSS для эмитента с ключом типа RSA. По умолчанию false.

Ответы

200: OK

ПараметрТипОбязательныйОписание
allow_any_namebooleanнетЕсли задано, клиенты могут запрашивать сертификаты для любого домена независимо от ограничений allowed_domains. Подробнее см. в документации.
allow_bare_domainsbooleanнетЕсли задано, клиенты могут запрашивать сертификаты для самих базовых доменов из allowed_domains, например “example.com”. Это отдельный параметр, поскольку в некоторых случаях это может считаться угрозой безопасности. Подробнее см. в документации.
allow_glob_domainsbooleanнетЕсли задано, домены в allowed_domains могут содержать glob-шаблоны в стиле shell, например “ftp*.example.com”. Подробнее см. в документации.
allow_ip_sansbooleanнетЕсли задано, разрешены IP SAN. Принимается любой корректный IP-адрес, проверка полномочий не выполняется.
allow_localhostbooleanнетРазрешать ли “localhost” и “localdomain” в качестве общего имени (CN) в запросе независимо от allowed_domains.
allow_subdomainsbooleanнетЕсли задано, клиенты могут запрашивать сертификаты для поддоменов доменов из allowed_domains, включая wildcard-поддомены. Подробнее см. в документации.
allow_token_displaynamebooleanнетРазрешать ли “localhost” и “localdomain” в качестве общего имени (CN) в запросе независимо от allowed_domains.
allow_wildcard_certificatesbooleanнетЕсли задано, разрешается выпускать сертификаты с подстановочными символами (wildcard) в общем имени в соответствии с RFC 6125, раздел 6.4.3, например “.example.net” или “bz.example.net”. Подробнее см. в документации.
allowed_domainsarrayнетДомены, для которых эта роль может выпускать сертификаты. Используется вместе с allow_bare_domains, allow_subdomains и allow_glob_domains для проверки общего имени, а также SAN типа DNS и Email в сертификатах. Подробнее см. в документации. Принимает строку через запятую или список доменов.
allowed_domains_templatebooleanнетЕсли задано, разрешенные домены можно указывать с помощью шаблонов политик Identity. Домены без шаблонов также допускаются.
allowed_other_sansarrayнетЕсли задано, массив разрешенных других имен (other names) для SAN. Поддерживает glob-шаблоны; формат ;:. Допустимые типы: “utf8” — otherName со значением UTF8String, “ia5” — со значением IA5String, “krb5” — KRB5PrincipalName из RFC 4556; этот тип определен только для OID 1.3.6.1.5.2.2, а значение записывается в обычной форме Kerberos, например “1.3.6.1.5.2.2;krb5:host/@EXAMPLE.COM”. Значение сравнивается только с записями своего типа. Все значения, в том числе glob-шаблоны, должны использовать этот синтаксис; исключение — одиночный “”, разрешающий любой OID, тип и значение.
allowed_serial_numbersarrayнетЕсли задано, массив разрешенных серийных номеров для Subject. Поддерживает glob-шаблоны.
allowed_uri_sansarrayнетЕсли задано, массив разрешенных URI для URI SAN. Принимается любой корректный URI; поддерживаются glob-шаблоны.
allowed_uri_sans_templatebooleanнетЕсли задано, разрешенные URI SAN можно указывать с помощью шаблонов политик Identity. URI SAN без шаблонов также допускаются.
allowed_user_idsarrayнетЕсли задано, массив разрешенных идентификаторов пользователей (user ID) для атрибута системного имени входа пользователя, описанного здесь: https://www.rfc-editor.org/rfc/rfc1274#section-9.3.1
basic_constraints_valid_for_non_cabooleanнетПомечать расширение Basic Constraints как действительное при выпуске сертификатов, не являющихся CA.
client_flagbooleanнетЕсли задано, сертификаты помечаются для клиентской аутентификации (client auth). По умолчанию true. См. также RFC 5280, раздел 4.2.1.12.
cn_validationsarrayнетСписок проверок, применяемых к полю Common Name. Возможные значения: ’email’ — CN должен быть адресом электронной почты; ‘hostname’ — CN должен быть корректным именем хоста (возможно, с подстановочными символами). Если указано несколько проверок, они объединяются через ИЛИ (допустим либо email, либо hostname). Специальное значение ‘disabled’ отключает все проверки CN и разрешает произвольные значения.
code_signing_flagbooleanнетЕсли задано, сертификаты помечаются для подписи кода (code signing). По умолчанию false. См. также RFC 5280, раздел 4.2.1.12.
countryarrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле Country (C) получает это значение.
email_protection_flagbooleanнетЕсли задано, сертификаты помечаются для защиты электронной почты (email protection). По умолчанию false. См. также RFC 5280, раздел 4.2.1.12.
enforce_hostnamesbooleanнетЕсли задано, в CN, DNS SAN и в доменной части адресов электронной почты допускаются только корректные имена хостов. По умолчанию true.
ext_key_usagearrayнетСтрока через запятую или список расширенных назначений ключа (extended key usages). Допустимые значения см. на https://golang.org/pkg/crypto/x509/#ExtKeyUsage — без префикса “ExtKeyUsage” в имени. Чтобы не задавать никаких назначений, укажите пустой список. См. также RFC 5280, раздел 4.2.1.12.
ext_key_usage_oidsarrayнетСтрока через запятую или список OID расширенных назначений ключа.
generate_leasebooleanнетЕсли задано, к сертификатам, выпущенным или подписанным по этой роли, привязываются аренды Stronghold. По умолчанию “false”. Если сертификаты связаны с арендами, их можно добавить в CRL командой “stronghold revoke <lease_id>” или через конечную точку “pki/revoke”. Если генерация аренд отключена, добавить сертификаты в CRL можно только через “pki/revoke”. При генерации большого количества долгоживущих сертификатов рекомендуется отключить генерацию аренд, поскольку большое число аренд увеличивает время запуска Stronghold.
issuer_refstringнетСсылка на эмитента, которым подписываются запросы, обслуживаемые этой ролью.
key_bitsintegerнетКоличество бит. Допустимые значения: 0 (универсальное значение по умолчанию); для key_type rsa — 2048 (по умолчанию), 3072 или 4096; для key_type ec — 224, 256 (по умолчанию), 384 или 521; для ed25519 игнорируется.
key_typestringнетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c” и “any”.
key_usagearrayнетСтрока через запятую или список назначений ключа (key usages, не extended key usages). Допустимые значения см. на https://golang.org/pkg/crypto/x509/#KeyUsage — без префикса “KeyUsage” в имени. Чтобы не задавать никаких назначений, укажите пустой список. См. также RFC 5280, раздел 4.2.1.3.
localityarrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле Locality (L) получает это значение.
max_ttlintegerнетМаксимально допустимый срок аренды. Если не задан, используется системный максимальный TTL аренды.
no_storebooleanнетЕсли задано, сертификаты, выпущенные или подписанные по этой роли, не сохраняются в хранилище бэкенда. Это повышает производительность при выпуске большого количества сертификатов. Однако такие сертификаты нельзя перечислить или отозвать, поэтому параметр рекомендуется только для некритичных или очень короткоживущих сертификатов. Подразумевает “false” для “generate_lease”.
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ.
not_before_durationintegerнетНа сколько секунд сдвинуть назад от текущего момента дату начала действия сертификата (backdate).
organizationarrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле O (Organization) получает это значение.
ouarrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле OU (OrganizationalUnit) получает это значение.
policy_identifiersarrayнетСтрока через запятую или список OID политик либо JSON-список с подробными данными политик, который должен содержать oid и может содержать notice и/или URL cps, в формате [{“oid”=“1.3.6.1.4.1.7.8”,“notice”=“I am a user Notice”}, {“oid”=“1.3.6.1.4.1.44947.1.2.4 “,“cps”="https://example.com”}].
postal_codearrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле Postal Code получает это значение.
provincearrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле Province (ST) получает это значение.
require_cnbooleanнетЕсли false, поле ‘common_name’ при генерации сертификата становится необязательным.
server_flagboolean (default: True)нетЕсли задано, сертификаты помечаются для серверной аутентификации (server auth). По умолчанию true. См. также RFC 5280, раздел 4.2.1.12.
signature_bitsintegerнетКоличество бит в алгоритме подписи: 256 для SHA-2-256, 384 для SHA-2-384, 512 для SHA-2-512. По умолчанию 0 — автоматический выбор по длине ключа (SHA-2-256 для ключей RSA, по размеру кривой для кривых NIST P).
single_valued_rdnsboolean (default: False)нетЕсли true, каждое значение атрибута субъекта (Country, Organization, OU и т. д.) кодируется в сертификате как отдельный однозначный RDN. Так поступает большинство CA (OpenSSL, Microsoft CA). Если false, все значения атрибутов одного типа объединяются в один многозначный RDN.
street_addressarrayнетЕсли задано, в сертификатах, выпущенных этой ролью, поле Street Address получает это значение.
ttlintegerнетСрок аренды (срок действия сертификата), если конкретный срок не запрошен. Определяет срок действия сертификатов, выпускаемых этим бэкендом. По умолчанию — системное значение или max_ttl, в зависимости от того, что меньше.
use_csr_common_namebooleanнетЕсли задано, при использовании с профилем подписи берется общее имя (CN) из CSR. Запрошенные альтернативные имена субъекта сюда *не* входят — для них используйте use_csr_sans. По умолчанию true.
use_csr_sansbooleanнетЕсли задано, при использовании с профилем подписи берутся SAN из CSR. Общее имя (CN) сюда *не* входит — для него используйте use_csr_common_name. По умолчанию true.
use_pssbooleanнетИспользовать ли подписи PSS для эмитента с ключом типа RSA. По умолчанию false.

DELETE /{pki_mount_path}/roles/{name}

ID операции: pki-delete-role

Управление ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: No Content

POST /{pki_mount_path}/roles/{role}/acme/account/{kid}

ID операции: pki-write-roles-role-acme-account-kid

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
kidstringpathдаИдентификатор ключа, предоставленный CA
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/roles/{role}/acme/authorization/{auth_id}

ID операции: pki-write-roles-role-acme-authorization-auth_id

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
auth_idstringpathдаЗначение идентификатора авторизации ACME
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/roles/{role}/acme/challenge/{auth_id}/{challenge_type}

ID операции: pki-write-roles-role-acme-challenge-auth_id-challenge_type

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
auth_idstringpathдаЗначение идентификатора авторизации ACME
challenge_typestringpathдаТип проверки (challenge) ACME
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

GET /{pki_mount_path}/roles/{role}/acme/directory

ID операции: pki-read-roles-role-acme-directory

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{pki_mount_path}/roles/{role}/acme/new-account

ID операции: pki-write-roles-role-acme-new-account

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/roles/{role}/acme/new-eab

ID операции: pki-generate-eab-key-for-role

Сгенерировать привязки внешних аккаунтов (EAB) для ACME

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
acme_directorystringнетКаталог ACME, которому принадлежит ключ
created_onstringнетДата и время создания токена EAB в формате RFC3339
idstringнетИдентификатор ключа EAB
keystringнетHMAC-ключ EAB
key_typestringнетТип ключа EAB

GET /{pki_mount_path}/roles/{role}/acme/new-nonce

ID операции: pki-read-roles-role-acme-new-nonce

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{pki_mount_path}/roles/{role}/acme/new-order

ID операции: pki-write-roles-role-acme-new-order

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/roles/{role}/acme/order/{order_id}

ID операции: pki-write-roles-role-acme-order-order_id

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
order_idstringpathдаИдентификатор запрашиваемого заказа ACME
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/roles/{role}/acme/order/{order_id}/cert

ID операции: pki-write-roles-role-acme-order-order_id-cert

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
order_idstringpathдаИдентификатор запрашиваемого заказа ACME
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/roles/{role}/acme/order/{order_id}/finalize

ID операции: pki-write-roles-role-acme-order-order_id-finalize

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
order_idstringpathдаИдентификатор запрашиваемого заказа ACME
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/roles/{role}/acme/orders

ID операции: pki-write-roles-role-acme-orders

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

POST /{pki_mount_path}/roles/{role}/acme/revoke-cert

ID операции: pki-write-roles-role-acme-revoke-cert

Конечная точка, реализующая стандартный протокол ACME

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathдаРоль для запроса ACME
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
payloadstringнетЗначение ‘payload’ запроса ACME
protectedstringнетЗначение ‘protected’ запроса ACME
signaturestringнетЗначение ‘signature’ запроса ACME

Ответы

200: OK

DELETE /{pki_mount_path}/root

ID операции: pki-delete-root

Удаляет ключ корневого CA, чтобы можно было сгенерировать новый.

Требует sudo: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{pki_mount_path}/root/generate/{exported}

ID операции: pki-generate-root

Сгенерировать новый сертификат CA и закрытый ключ для подписи.

Параметры

ПараметрТипРасположениеОбязательныйОписание
exportedstring (internal, exported, kms)pathдаДопустимые значения: “internal”, “exported” или “kms”. При значении “exported” сгенерированный закрытый ключ возвращается в ответе. Это *единственная* возможность получить закрытый ключ!
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Могут содержать DNS-имена и адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если не указано при подписи, CN берется из CSR; остальные имена все равно нужно указать в alt_names или ip_sans.
countryarrayнетЕсли задано, поле Country (C) получает это значение.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
issuer_namestringнетИмя для создаваемого или существующего эмитента; должно быть уникальным среди всех эмитентов и не может быть зарезервированным значением ‘default’
key_bitsinteger (default: 0)нетКоличество бит. Допустимые значения: 0 (универсальное значение по умолчанию); для key_type rsa — 2048 (по умолчанию), 3072 или 4096; для key_type ec — 224, 256 (по умолчанию), 384 или 521; для ed25519 игнорируется.
key_namestringнетИмя для сгенерированного или существующего ключа; должно быть уникальным среди всех ключей и не может быть зарезервированным значением ‘default’
key_refstring (default: default)нетСсылка на существующий ключ: “default” для настроенного ключа по умолчанию, идентификатор или имя ключа.
key_typestring (rsa, ec, ed25519, gost3410-256-paramset-a, gost3410-256-paramset-b, gost3410-256-paramset-c, gost3410-256-paramset-d, gost3410-512-paramset-a, gost3410-512-paramset-b, gost3410-512-paramset-c) (default: rsa)нетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c”.
localityarrayнетЕсли задано, поле Locality (L) получает это значение.
managed_key_idstringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_name. Для других типов игнорируется.
managed_key_namestringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_id. Для других типов игнорируется.
max_path_lengthinteger (default: -1)нетМаксимально допустимая длина пути
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
not_before_durationinteger (default: 30)нетНа сколько сдвинуть назад от текущего момента дату начала действия сертификата (backdate).
organizationarrayнетЕсли задано, поле O (Organization) получает это значение.
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
ouarrayнетЕсли задано, поле OU (OrganizationalUnit) получает это значение.
permitted_dns_domainsarrayнетДомены, для которых этот сертификат может подписывать или выпускать дочерние сертификаты. Если задано, все DNS-имена (subject и alt) в дочерних сертификатах должны точно совпадать с указанными доменами или быть их поддоменами (см. https://tools.ietf.org/html/rfc5280#section-4.2.1.10).
postal_codearrayнетЕсли задано, поле Postal Code получает это значение.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
provincearrayнетЕсли задано, поле Province (ST) получает это значение.
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
signature_bitsinteger (default: 0)нетКоличество бит в алгоритме подписи: 256 для SHA-2-256, 384 для SHA-2-384, 512 для SHA-2-512. По умолчанию 0 — автоматический выбор по длине ключа (SHA-2-256 для ключей RSA, по размеру кривой для кривых NIST P).
street_addressarrayнетЕсли задано, поле Street Address получает это значение.
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL точки монтирования. Примечание: действует только при генерации или подписи сертификата CA, но не при генерации CSR для промежуточного CA.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.
use_pssboolean (default: False)нетИспользовать ли подписи PSS для эмитента с ключом типа RSA. По умолчанию false.

Ответы

200: OK

ПараметрТипОбязательныйОписание
certificatestringнетСгенерированный самоподписанный сертификат CA.
expirationintegerнетСрок действия указанного эмитента.
issuer_idstringнетИдентификатор эмитента
issuer_namestringнетИмя эмитента.
issuing_castringнетВыдающий удостоверяющий центр.
key_idstringнетИдентификатор ключа.
key_namestringнетИмя ключа, если указано.
private_keystringнетЗакрытый ключ, если был указан тип exported.
serial_numberstringнетЗапрошенный серийный номер (serialNumber) субъекта.

POST /{pki_mount_path}/root/replace

ID операции: pki-replace-root

Прочитать и задать сертификат эмитента по умолчанию для подписи.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
defaultstring (default: next)нетСсылка (имя или идентификатор) на эмитента по умолчанию.

Ответы

200: OK

ПараметрТипОбязательныйОписание
defaultstringнетСсылка (имя или идентификатор) на эмитента по умолчанию.
default_follows_latest_issuerbooleanнетДолжен ли эмитент по умолчанию автоматически переключаться на последнего сгенерированного или импортированного эмитента. По умолчанию false.

POST /{pki_mount_path}/root/rotate/{exported}

ID операции: pki-rotate-root

Сгенерировать новый сертификат CA и закрытый ключ для подписи.

Параметры

ПараметрТипРасположениеОбязательныйОписание
exportedstring (internal, exported, kms)pathдаДопустимые значения: “internal”, “exported” или “kms”. При значении “exported” сгенерированный закрытый ключ возвращается в ответе. Это *единственная* возможность получить закрытый ключ!
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Могут содержать DNS-имена и адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если не указано при подписи, CN берется из CSR; остальные имена все равно нужно указать в alt_names или ip_sans.
countryarrayнетЕсли задано, поле Country (C) получает это значение.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
issuer_namestringнетИмя для создаваемого или существующего эмитента; должно быть уникальным среди всех эмитентов и не может быть зарезервированным значением ‘default’
key_bitsinteger (default: 0)нетКоличество бит. Допустимые значения: 0 (универсальное значение по умолчанию); для key_type rsa — 2048 (по умолчанию), 3072 или 4096; для key_type ec — 224, 256 (по умолчанию), 384 или 521; для ed25519 игнорируется.
key_namestringнетИмя для сгенерированного или существующего ключа; должно быть уникальным среди всех ключей и не может быть зарезервированным значением ‘default’
key_refstring (default: default)нетСсылка на существующий ключ: “default” для настроенного ключа по умолчанию, идентификатор или имя ключа.
key_typestring (rsa, ec, ed25519, gost3410-256-paramset-a, gost3410-256-paramset-b, gost3410-256-paramset-c, gost3410-256-paramset-d, gost3410-512-paramset-a, gost3410-512-paramset-b, gost3410-512-paramset-c) (default: rsa)нетТип используемого ключа; по умолчанию RSA. Допустимые значения: “rsa”, “ec”, “ed25519”, “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c”.
localityarrayнетЕсли задано, поле Locality (L) получает это значение.
managed_key_idstringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_name. Для других типов игнорируется.
managed_key_namestringнетИмя управляемого ключа, используемого при экспортируемом типе kms. Для типа ключа kms обязательно это поле или managed_key_id. Для других типов игнорируется.
max_path_lengthinteger (default: -1)нетМаксимально допустимая длина пути
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
not_before_durationinteger (default: 30)нетНа сколько сдвинуть назад от текущего момента дату начала действия сертификата (backdate).
organizationarrayнетЕсли задано, поле O (Organization) получает это значение.
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
ouarrayнетЕсли задано, поле OU (OrganizationalUnit) получает это значение.
permitted_dns_domainsarrayнетДомены, для которых этот сертификат может подписывать или выпускать дочерние сертификаты. Если задано, все DNS-имена (subject и alt) в дочерних сертификатах должны точно совпадать с указанными доменами или быть их поддоменами (см. https://tools.ietf.org/html/rfc5280#section-4.2.1.10).
postal_codearrayнетЕсли задано, поле Postal Code получает это значение.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
provincearrayнетЕсли задано, поле Province (ST) получает это значение.
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
signature_bitsinteger (default: 0)нетКоличество бит в алгоритме подписи: 256 для SHA-2-256, 384 для SHA-2-384, 512 для SHA-2-512. По умолчанию 0 — автоматический выбор по длине ключа (SHA-2-256 для ключей RSA, по размеру кривой для кривых NIST P).
street_addressarrayнетЕсли задано, поле Street Address получает это значение.
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL точки монтирования. Примечание: действует только при генерации или подписи сертификата CA, но не при генерации CSR для промежуточного CA.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.
use_pssboolean (default: False)нетИспользовать ли подписи PSS для эмитента с ключом типа RSA. По умолчанию false.

Ответы

200: OK

ПараметрТипОбязательныйОписание
certificatestringнетСгенерированный самоподписанный сертификат CA.
expirationintegerнетСрок действия указанного эмитента.
issuer_idstringнетИдентификатор эмитента
issuer_namestringнетИмя эмитента.
issuing_castringнетВыдающий удостоверяющий центр.
key_idstringнетИдентификатор ключа.
key_namestringнетИмя ключа, если указано.
private_keystringнетЗакрытый ключ, если был указан тип exported.
serial_numberstringнетЗапрошенный серийный номер (serialNumber) субъекта.

POST /{pki_mount_path}/root/sign-intermediate

ID операции: pki-root-sign-intermediate

Выпустить промежуточный сертификат CA на основе предоставленного CSR.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Могут содержать DNS-имена и адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если не указано при подписи, CN берется из CSR; остальные имена все равно нужно указать в alt_names или ip_sans.
countryarrayнетЕсли задано, поле Country (C) получает это значение.
csrstring (default: )нетПодписываемый CSR в формате PEM.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
issuer_namestringнетИмя для создаваемого или существующего эмитента; должно быть уникальным среди всех эмитентов и не может быть зарезервированным значением ‘default’
issuer_refstring (default: default)нетСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
localityarrayнетЕсли задано, поле Locality (L) получает это значение.
max_path_lengthinteger (default: -1)нетМаксимально допустимая длина пути
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
not_before_durationinteger (default: 30)нетНа сколько сдвинуть назад от текущего момента дату начала действия сертификата (backdate).
organizationarrayнетЕсли задано, поле O (Organization) получает это значение.
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
ouarrayнетЕсли задано, поле OU (OrganizationalUnit) получает это значение.
permitted_dns_domainsarrayнетДомены, для которых этот сертификат может подписывать или выпускать дочерние сертификаты. Если задано, все DNS-имена (subject и alt) в дочерних сертификатах должны точно совпадать с указанными доменами или быть их поддоменами (см. https://tools.ietf.org/html/rfc5280#section-4.2.1.10).
postal_codearrayнетЕсли задано, поле Postal Code получает это значение.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
provincearrayнетЕсли задано, поле Province (ST) получает это значение.
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
signature_bitsinteger (default: 0)нетКоличество бит в алгоритме подписи: 256 для SHA-2-256, 384 для SHA-2-384, 512 для SHA-2-512. По умолчанию 0 — автоматический выбор по длине ключа (SHA-2-256 для ключей RSA, по размеру кривой для кривых NIST P).
skidstring (default: )нетЗначение поля Subject Key Identifier (RFC 5280, раздел 4.2.1.2). Предназначено ТОЛЬКО для перекрестной подписи, чтобы воспроизвести SKID существующего сертификата; это нужно для некоторых реализаций TLS (например, OpenSSL), которые сопоставляют SKID/AKID при построении цепочек и тем самым ограничивают допустимые цепочки. Указывается строкой в шестнадцатеричном формате. По умолчанию пусто — Stronghold вычисляет SKID автоматически по первому методу из указанного раздела RFC.
street_addressarrayнетЕсли задано, поле Street Address получает это значение.
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL точки монтирования. Примечание: действует только при генерации или подписи сертификата CA, но не при генерации CSR для промежуточного CA.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.
use_csr_valuesboolean (default: False)нетЕсли true: 1) данные субъекта, включая имена и альтернативные имена, берутся из CSR, а не из других параметров этого пути; 2) запрошенные в CSR назначения ключа (key usages) добавляются к базовому набору назначений для сертификатов CA, подписанных этим путем, — например, флаг non-repudiation; 3) запрошенные в CSR расширения копируются в выпущенный сертификат.
use_pssboolean (default: False)нетИспользовать ли подписи PSS для эмитента с ключом типа RSA. По умолчанию false.

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка CA
certificatestringнетСертификат
expirationintegerнетВремя истечения срока действия
issuing_castringнетВыдающий CA
serial_numberstringнетСерийный номер

POST /{pki_mount_path}/root/sign-self-issued

ID операции: pki-root-sign-self-issued

Перевыпустить самоподписанный сертификат на основе переданного сертификата.

Требует sudo: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
certificatestringнетСамовыпущенный сертификат в формате PEM, который нужно подписать.
issuer_refstring (default: default)нетСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
require_matching_certificate_algorithmsboolean (default: False)нетЕсли true, алгоритм открытого ключа подписывающей стороны должен совпадать с алгоритмом самовыпущенного сертификата.

Ответы

200: OK

ПараметрТипОбязательныйОписание
certificatestringнетСертификат
issuing_castringнетВыдающий CA

POST /{pki_mount_path}/sign-verbatim

ID операции: pki-sign-verbatim

Выпустить сертификат напрямую на основе предоставленного CSR.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Если для роли включена защита электронной почты, могут содержать адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если в роли включена защита электронной почты, это может быть адрес электронной почты.
csrstring (default: )нетПодписываемый CSR в формате PEM. Значения берутся из CSR без изменений, кроме Basic Constraints.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
ext_key_usagearray (default: [])нетСтрока через запятую или список расширенных назначений ключа (extended key usages). Допустимые значения см. на https://golang.org/pkg/crypto/x509/#ExtKeyUsage — без префикса “ExtKeyUsage” в имени. Чтобы не задавать никаких назначений, укажите пустой список.
ext_key_usage_oidsarrayнетСтрока через запятую или список OID расширенных назначений ключа.
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
issuer_refstring (default: default)нетСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
key_usagearray (default: [‘DigitalSignature’, ‘KeyAgreement’, ‘KeyEncipherment’])нетСтрока через запятую или список назначений ключа (key usages, не extended key usages). Допустимые значения см. на https://golang.org/pkg/crypto/x509/#KeyUsage — без префикса “KeyUsage” в имени. Чтобы не задавать никаких назначений, укажите пустой список.
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
remove_roots_from_chainboolean (default: False)нетИсключать ли самоподписанные сертификаты CA из поля ca_chain.
rolestringнетРоль, конфигурация которой используется для этого запроса
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
signature_bitsinteger (default: 0)нетКоличество бит в алгоритме подписи: 256 для SHA-2-256, 384 для SHA-2-384, 512 для SHA-2-512. По умолчанию 0 — автоматический выбор по длине ключа (SHA-2-256 для ключей RSA, по размеру кривой для кривых NIST P).
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL роли.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.
use_pssboolean (default: False)нетИспользовать ли подписи PSS для эмитента с ключом типа RSA. По умолчанию false.
user_idsarrayнетЗапрашиваемые значения user_ids для субъекта (если есть) через запятую. Ограничиваются allowed_user_ids. Значения добавляются с OID 0.9.2342.19200300.100.1.1.

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка сертификатов
certificatestringнетСертификат
expirationintegerнетВремя истечения срока действия
issuing_castringнетВыдающий удостоверяющий центр
private_keystringнетЗакрытый ключ
private_key_typestringнетТип закрытого ключа
serial_numberstringнетСерийный номер

POST /{pki_mount_path}/sign-verbatim/{role}

ID операции: pki-sign-verbatim-with-role

Выпустить сертификат напрямую на основе предоставленного CSR.

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathдаРоль, конфигурация которой используется для этого запроса
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Если для роли включена защита электронной почты, могут содержать адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если в роли включена защита электронной почты, это может быть адрес электронной почты.
csrstring (default: )нетПодписываемый CSR в формате PEM. Значения берутся из CSR без изменений, кроме Basic Constraints.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
ext_key_usagearray (default: [])нетСтрока через запятую или список расширенных назначений ключа (extended key usages). Допустимые значения см. на https://golang.org/pkg/crypto/x509/#ExtKeyUsage — без префикса “ExtKeyUsage” в имени. Чтобы не задавать никаких назначений, укажите пустой список.
ext_key_usage_oidsarrayнетСтрока через запятую или список OID расширенных назначений ключа.
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
issuer_refstring (default: default)нетСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
key_usagearray (default: [‘DigitalSignature’, ‘KeyAgreement’, ‘KeyEncipherment’])нетСтрока через запятую или список назначений ключа (key usages, не extended key usages). Допустимые значения см. на https://golang.org/pkg/crypto/x509/#KeyUsage — без префикса “KeyUsage” в имени. Чтобы не задавать никаких назначений, укажите пустой список.
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
remove_roots_from_chainboolean (default: False)нетИсключать ли самоподписанные сертификаты CA из поля ca_chain.
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
signature_bitsinteger (default: 0)нетКоличество бит в алгоритме подписи: 256 для SHA-2-256, 384 для SHA-2-384, 512 для SHA-2-512. По умолчанию 0 — автоматический выбор по длине ключа (SHA-2-256 для ключей RSA, по размеру кривой для кривых NIST P).
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL роли.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.
use_pssboolean (default: False)нетИспользовать ли подписи PSS для эмитента с ключом типа RSA. По умолчанию false.
user_idsarrayнетЗапрашиваемые значения user_ids для субъекта (если есть) через запятую. Ограничиваются allowed_user_ids. Значения добавляются с OID 0.9.2342.19200300.100.1.1.

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка сертификатов
certificatestringнетСертификат
expirationintegerнетВремя истечения срока действия
issuing_castringнетВыдающий удостоверяющий центр
private_keystringнетЗакрытый ключ
private_key_typestringнетТип закрытого ключа
serial_numberstringнетСерийный номер

POST /{pki_mount_path}/sign/{role}

ID операции: pki-sign-with-role

Запросить сертификаты с указанными параметрами по определенной роли.

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathдаРоль, конфигурация которой используется для этого запроса
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
alt_namesstringнетЗапрашиваемые альтернативные имена субъекта (SAN) через запятую. Если для роли включена защита электронной почты, могут содержать адреса электронной почты.
common_namestringнетЗапрашиваемое общее имя (CN); если нужно несколько имен, укажите альтернативные имена в alt_names. Если в роли включена защита электронной почты, это может быть адрес электронной почты.
csrstring (default: )нетПодписываемый CSR в формате PEM.
exclude_cn_from_sansboolean (default: False)нетЕсли true, общее имя (CN) не включается в альтернативные имена субъекта (SAN) типа DNS или Email. По умолчанию false (CN включается).
formatstring (pem, der, pem_bundle) (default: pem)нетФормат возвращаемых данных: “pem”, “der” или “pem_bundle”. При “pem_bundle” закрытый ключ (если есть) и сертификат эмитента добавляются к сертификату в PEM. При “der” значение кодируется в base64. По умолчанию “pem”.
ip_sansarrayнетЗапрашиваемые IP SAN (если есть) через запятую
issuer_refstring (default: default)нетСсылка на существующего эмитента: “default” для настроенного эмитента по умолчанию, идентификатор или имя эмитента.
not_afterstringнетЗадает поле NotAfter сертификата указанной датой. Значение указывается в UTC в формате YYYY-MM-ddTHH:MM:SSZ
other_sansarrayнетЗапрашиваемые другие SAN (other names): массив, каждый элемент в формате ;:, где — UTF8, IA5 или KRB5. Значение KRB5 — принципал Kerberos, например host/kdc.example.com@EXAMPLE.COM; определено только для OID 1.3.6.1.5.2.2.
private_key_formatstring (, der, pem, pkcs8) (default: der)нетФормат возвращаемого закрытого ключа. Обычно формат определяется параметром “format”: DER в base64 или DER в PEM. Если указать “pkcs8”, закрытый ключ возвращается в формате PKCS#8 в base64 или PEM. По умолчанию “der”.
remove_roots_from_chainboolean (default: False)нетИсключать ли самоподписанные сертификаты CA из поля ca_chain.
serial_numberstringнетЗапрашиваемый серийный номер субъекта (если есть). Описание поля см. в RFC 4519, раздел 2.31 ‘serialNumber’. Если нужно несколько значений, укажите альтернативные имена в alt_names с OID 2.5.4.5. Не влияет на поле Serial Number итогового сертификата.
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL роли.
uri_sansarrayнетЗапрашиваемые URI SAN (если есть) через запятую.
user_idsarrayнетЗапрашиваемые значения user_ids для субъекта (если есть) через запятую. Ограничиваются allowed_user_ids. Значения добавляются с OID 0.9.2342.19200300.100.1.1.

Ответы

200: OK

ПараметрТипОбязательныйОписание
ca_chainarrayнетЦепочка сертификатов
certificatestringнетСертификат
expirationintegerнетВремя истечения срока действия
issuing_castringнетВыдающий удостоверяющий центр
private_keystringнетЗакрытый ключ
private_key_typestringнетТип закрытого ключа
serial_numberstringнетСерийный номер

POST /{pki_mount_path}/tidy

ID операции: pki-tidy

Очистить бэкенд, удалив сертификаты с истекшим сроком действия, информацию об отзыве или и то и другое.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
acme_account_safety_bufferinteger (default: 2592000)нетВремя с момента создания, по истечении которого аккаунт без заказов помечается отозванным, а также время после пометки об отзыве или деактивации.
issuer_safety_bufferinteger (default: 31536000)нетДополнительное время после истечения срока действия эмитента, по прошествии которого он удаляется из хранилища бэкенда. По умолчанию 8760 часов (1 год).
pause_durationstring (default: 0s)нетПауза между обработкой сертификатов. Позволяет операторам снизить потребление ресурсов операцией tidy за счет увеличения времени ее выполнения. Обратите внимание: весь список сертификатов хранится в памяти на протяжении всей операции tidy, но нагрузка на чтение, обработку и обновление записей распределяется на более длительный период. По умолчанию 0 секунд.
revocation_queue_safety_bufferinteger (default: 172800)нетВремя с момента создания межкластерного запроса на отзыв до его удаления. Слишком малое значение может привести к удалению действительных запросов до того, как кластер-владелец успеет их обработать, особенно если он недоступен.
safety_bufferinteger (default: 259200)нетДополнительное время после истечения срока действия сертификата, по прошествии которого он удаляется из хранилища бэкенда и/или списка отзыва. По умолчанию 72 часа.
tidy_acmeboolean (default: False)нетЕсли true, включается очистка аккаунтов, заказов и авторизаций ACME. Заказы ACME удаляются через safety_buffer после истечения срока действия связанного сертификата либо, если сертификат не был выпущен, после истечения срока действия заказа и его авторизаций. Авторизации удаляются вместе с соответствующим заказом. Если действующий аккаунт ACME старше acme_account_safety_buffer и у него не осталось заказов, он помечается отозванным. Через еще один acme_account_safety_buffer после даты отзыва или деактивации такой аккаунт удаляется.
tidy_cert_storebooleanнетЕсли true, включается очистка хранилища сертификатов
tidy_cross_cluster_revoked_certsbooleanнетЕсли true, включается очистка межкластерного хранилища отозванных сертификатов. Выполняется только на активном узле основного кластера.
tidy_expired_issuersbooleanнетЕсли true, автоматически удаляются эмитенты, срок действия которых истек более чем на issuer_safety_buffer назад. Ключи при этом не удаляются.
tidy_move_legacy_ca_bundlebooleanнетЕсли true, перемещается устаревший ca_bundle из /config/ca_bundle в /config/ca_bundle.bak. Это делает невозможным откат на версии до Vault 1.11 (старые механизмы PKI не знают о новой схеме хранения нескольких эмитентов), но повышает производительность точек монтирования PKI с seal wrapping. Перемещение выполняется, только если с момента начальной миграции хранилища прошло не меньше issuer_safety_buffer. Резервная копия сохраняется на случай проблем при будущих миграциях; при желании операторы могут удалить ее через sys/raw. Резервная копия также удаляется вызовом DELETE /root, но он удаляет ВСЕХ эмитентов в точке монтирования (поэтому в большинстве сценариев нежелателен).
tidy_revocation_listbooleanнетУстарело; синоним ’tidy_revoked_certs’
tidy_revocation_queueboolean (default: False)нетЕсли true, удаляются устаревшие записи очереди отзыва, не подтвержденные ни одним активным кластером. Выполняется только на активном узле основного кластера
tidy_revoked_cert_issuer_associationsbooleanнетЕсли true, проверяются связи записей отзыва с эмитентами. Это ускоряет построение CRL и ответы OCSP.
tidy_revoked_certsbooleanнетЕсли true, удаляются все отозванные сертификаты с истекшим сроком действия из CRL и из хранилища. Если при этом что-то будет удалено, CRL будет перевыпущен.

Ответы

202: Принято

POST /{pki_mount_path}/tidy-cancel

ID операции: pki-tidy-cancel

Отменяет текущую операцию tidy.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
acme_account_deleted_countintegerнетКоличество удаленных отозванных аккаунтов ACME
acme_account_revoked_countintegerнетКоличество отозванных неиспользуемых аккаунтов ACME
acme_account_safety_bufferintegerнетБуфер безопасности с момента создания, после которого аккаунты без заказов отзываются
acme_orders_deleted_countintegerнетКоличество удаленных просроченных неиспользованных заказов ACME
cert_store_deleted_countintegerнетКоличество удаленных записей хранилища сертификатов
cross_revoked_cert_deleted_countintegerнет
current_cert_store_countintegerнетКоличество удаленных записей об отозванных сертификатах
current_revoked_cert_countintegerнетКоличество удаленных записей об отозванных сертификатах
errorstringнетСообщение об ошибке
internal_backend_uuidstringнет
issuer_safety_bufferintegerнетБуфер безопасности для эмитентов
last_auto_tidy_finishedstringнетВремя завершения последнего автоматического запуска tidy
messagestringнетСообщение операции
missing_issuer_cert_countintegerнет
pause_durationstringнетПауза между обработкой сертификатов при очистке (tidy)
revocation_queue_deleted_countintegerнет
revocation_queue_safety_bufferintegerнетБуфер безопасности для очереди отзыва
revoked_cert_deleted_countintegerнетКоличество удаленных записей об отозванных сертификатах
safety_bufferintegerнетДлительность буфера безопасности
statestringнетОдно из значений: Inactive, Running, Finished или Error
tidy_acmebooleanнетОчистка неиспользуемых аккаунтов и заказов ACME
tidy_cert_storebooleanнетОчистка хранилища сертификатов
tidy_cross_cluster_revoked_certsbooleanнетОчистка межкластерного хранилища отозванных сертификатов
tidy_expired_issuersbooleanнетОчистка эмитентов с истекшим сроком действия
tidy_move_legacy_ca_bundlebooleanнет
tidy_revocation_queuebooleanнет
tidy_revoked_cert_issuer_associationsbooleanнетОчистка связей отозванных сертификатов с эмитентами
tidy_revoked_certsbooleanнетОчистка отозванных сертификатов
time_finishedstringнетВремя завершения операции
time_startedstringнетВремя начала операции
total_acme_account_countintegerнетОбщее количество обработанных аккаунтов ACME

GET /{pki_mount_path}/tidy-status

ID операции: pki-tidy-status

Возвращает статус операции tidy.

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

ПараметрТипОбязательныйОписание
acme_account_deleted_countintegerнетКоличество удаленных отозванных аккаунтов ACME
acme_account_revoked_countintegerнетКоличество отозванных неиспользуемых аккаунтов ACME
acme_account_safety_bufferintegerнетБуфер безопасности с момента создания, после которого аккаунты без заказов отзываются
acme_orders_deleted_countintegerнетКоличество удаленных просроченных неиспользованных заказов ACME
cert_store_deleted_countintegerнетКоличество удаленных записей хранилища сертификатов
cross_revoked_cert_deleted_countintegerнет
current_cert_store_countintegerнетКоличество удаленных записей об отозванных сертификатах
current_revoked_cert_countintegerнетКоличество удаленных записей об отозванных сертификатах
errorstringнетСообщение об ошибке
internal_backend_uuidstringнет
issuer_safety_bufferintegerнетБуфер безопасности для эмитентов
last_auto_tidy_finishedstringнетВремя завершения последнего автоматического запуска tidy
messagestringнетСообщение операции
missing_issuer_cert_countintegerнет
pause_durationstringнетПауза между обработкой сертификатов при очистке (tidy)
revocation_queue_deleted_countintegerнет
revocation_queue_safety_bufferintegerнетБуфер безопасности для очереди отзыва
revoked_cert_deleted_countintegerнетКоличество удаленных записей об отозванных сертификатах
safety_bufferintegerнетДлительность буфера безопасности
statestringнетОдно из значений: Inactive, Running, Finished или Error
tidy_acmebooleanнетОчистка неиспользуемых аккаунтов и заказов ACME
tidy_cert_storebooleanнетОчистка хранилища сертификатов
tidy_cross_cluster_revoked_certsbooleanнетОчистка межкластерного хранилища отозванных сертификатов
tidy_expired_issuersbooleanнетОчистка эмитентов с истекшим сроком действия
tidy_move_legacy_ca_bundlebooleanнет
tidy_revocation_queuebooleanнет
tidy_revoked_cert_issuer_associationsbooleanнетОчистка связей отозванных сертификатов с эмитентами
tidy_revoked_certsbooleanнетОчистка отозванных сертификатов
time_finishedstringнетВремя завершения операции
time_startedstringнетВремя начала операции
total_acme_account_countintegerнетОбщее количество обработанных аккаунтов ACME

GET /{pki_mount_path}/unified-crl

ID операции: pki-read-unified-crl-der

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{pki_mount_path}/unified-crl/delta

ID операции: pki-read-unified-crl-delta

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{pki_mount_path}/unified-crl/delta/pem

ID операции: pki-read-unified-crl-delta-pem

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{pki_mount_path}/unified-crl/pem

ID операции: pki-read-unified-crl-pem

Получить CA, CRL, цепочку CA или неотозванный сертификат.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{pki_mount_path}/unified-ocsp

ID операции: pki-query-unified-ocsp

Запросить статус отзыва сертификата через OCSP

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{pki_mount_path}/unified-ocsp/{req}

ID операции: pki-query-unified-ocsp-with-get-req

Запросить статус отзыва сертификата через OCSP

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
reqstringpathдаЗапрос OCSP в кодировке base64
pki_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{rabbitmq_mount_path}/config/connection

ID операции: rabbit-mq-configure-connection

Настроить URI подключения, имя пользователя и пароль для работы с HTTP API управления RabbitMQ.

Параметры

ПараметрТипРасположениеОбязательныйОписание
rabbitmq_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
connection_uristringнетURI управления RabbitMQ
passwordstringнетПароль указанного пользователя управления RabbitMQ
password_policystringнетИмя политики паролей для генерации паролей динамических учетных данных.
usernamestringнетИмя пользователя — администратора управления RabbitMQ
username_templatestringнетШаблон формирования динамических имен пользователей.
verify_connectionboolean (default: True)нетЕсли задано, connection_uri проверяется реальным подключением к API управления RabbitMQ

Ответы

200: OK

GET /{rabbitmq_mount_path}/config/lease

ID операции: rabbit-mq-read-lease-configuration

Настроить параметры аренды для генерируемых учетных данных

Параметры

ПараметрТипРасположениеОбязательныйОписание
rabbitmq_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{rabbitmq_mount_path}/config/lease

ID операции: rabbit-mq-configure-lease

Настроить параметры аренды для генерируемых учетных данных

Параметры

ПараметрТипРасположениеОбязательныйОписание
rabbitmq_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
max_ttlinteger (default: 0)нетВремя, после которого продление выданных учетных данных запрещено
ttlinteger (default: 0)нетВремя, до истечения которого выданные учетные данные нужно продлить

Ответы

200: OK

GET /{rabbitmq_mount_path}/creds/{name}

ID операции: rabbit-mq-request-credentials

Запросить учетные данные RabbitMQ для указанной роли.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли.
rabbitmq_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{rabbitmq_mount_path}/roles

ID операции: rabbit-mq-list-roles

Управление ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
rabbitmq_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{rabbitmq_mount_path}/roles/{name}

ID операции: rabbit-mq-read-role

Управление ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли.
rabbitmq_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{rabbitmq_mount_path}/roles/{name}

ID операции: rabbit-mq-write-role

Управление ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли.
rabbitmq_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
tagsstringнетСписок тегов роли через запятую.
vhost_topicsstringнетВложенная карта прав на топики: виртуальные хосты → exchange → права.
vhostsstringнетКарта прав по виртуальным хостам.

Ответы

200: OK

DELETE /{rabbitmq_mount_path}/roles/{name}

ID операции: rabbit-mq-delete-role

Управление ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя роли.
rabbitmq_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{ssh_mount_path}/config/ca

ID операции: ssh-read-ca-configuration

Задать закрытый ключ SSH для подписи сертификатов.

Параметры

ПараметрТипРасположениеОбязательныйОписание
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{ssh_mount_path}/config/ca

ID операции: ssh-configure-ca

Задать закрытый ключ SSH для подписи сертификатов.

Параметры

ПараметрТипРасположениеОбязательныйОписание
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
generate_signing_keyboolean (default: True)нетСгенерировать пару SSH-ключей внутри системы вместо использования полей private_key и public_key. Если указана конфигурация управляемого ключа, это поле игнорируется.
key_bitsinteger (default: 0)нетЖелаемая длина ключа в битах при генерации ключей переменной длины (например, при key_type=“ssh-rsa”) или кривая NIST P при key_type=“ec” (256, 384 или 521).
key_typestring (default: ssh-rsa)нетЖелаемый тип генерируемого ключа: идентификатор типа ключа OpenSSH (ssh-rsa, ecdsa-sha2-nistp256, ecdsa-sha2-nistp384, ecdsa-sha2-nistp521 или ssh-ed25519) или алгоритм (rsa, ec, ed25519).
managed_key_idstringнетИдентификатор используемого управляемого ключа. При использовании управляемого ключа обязательно это поле или managed_key_name.
managed_key_namestringнетИмя используемого управляемого ключа. При использовании управляемого ключа обязательно это поле или managed_key_id.
private_keystringнетЗакрытая часть ключа SSH, которым подписываются сертификаты.
public_keystringнетОткрытая часть ключа SSH, которым подписываются сертификаты.

Ответы

200: OK

DELETE /{ssh_mount_path}/config/ca

ID операции: ssh-delete-ca-configuration

Задать закрытый ключ SSH для подписи сертификатов.

Параметры

ПараметрТипРасположениеОбязательныйОписание
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{ssh_mount_path}/config/zeroaddress

ID операции: ssh-read-zero-address-configuration

Назначить нулевой адрес CIDR-блоком по умолчанию для выбранных ролей.

Параметры

ПараметрТипРасположениеОбязательныйОписание
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{ssh_mount_path}/config/zeroaddress

ID операции: ssh-configure-zero-address

Назначить нулевой адрес CIDR-блоком по умолчанию для выбранных ролей.

Параметры

ПараметрТипРасположениеОбязательныйОписание
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
rolesarrayнет[Обязательно] Список имен ролей через запятую, для которых учетные данные можно запрашивать для любого IP-адреса. Ранее зарегистрированные для этих ролей CIDR-блоки игнорируются.

Ответы

200: OK

DELETE /{ssh_mount_path}/config/zeroaddress

ID операции: ssh-delete-zero-address-configuration

Назначить нулевой адрес CIDR-блоком по умолчанию для выбранных ролей.

Параметры

ПараметрТипРасположениеОбязательныйОписание
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

POST /{ssh_mount_path}/creds/{role}

ID операции: ssh-generate-credentials

Создает учетные данные для SSH-подключения к удаленному хосту.

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathда[Обязательно] Имя роли
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
ipstringнет[Обязательно] IP-адрес удаленного хоста
usernamestringнет[Необязательно] Имя пользователя на удаленном хосте

Ответы

200: OK

POST /{ssh_mount_path}/issue/{role}

ID операции: ssh-issue-certificate

Запросить сертификат с указанными параметрами по определенной роли.

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathдаРоль, конфигурация которой используется для этого запроса.
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
cert_typestring (default: user)нетТип создаваемого сертификата: “user” или “host”.
critical_optionsobjectнетКритические параметры (critical options), с которыми должен быть подписан сертификат.
extensionsobjectнетРасширения, с которыми должен быть подписан сертификат.
key_bitsinteger (default: 0)нетКоличество бит для генерируемых ключей.
key_idstringнетИдентификатор ключа (key ID) создаваемого сертификата. Если не указан, используется отображаемое имя токена.
key_typestring (default: rsa)нетЖелаемый тип ключа: rsa, ed25519 или ec
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата SSH; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL роли.
valid_principalsstringнетДопустимые принципалы (principals) — имена пользователей или хостов, для которых подписывается сертификат.

Ответы

200: OK

POST /{ssh_mount_path}/lookup

ID операции: ssh-list-roles-by-ip

Получить список всех ролей, связанных с указанным IP-адресом.

Параметры

ПараметрТипРасположениеОбязательныйОписание
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
ipstringнет[Обязательно] IP-адрес удаленного хоста

Ответы

200: OK

GET /{ssh_mount_path}/public_key

ID операции: ssh-read-public-key

Получить открытый ключ.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{ssh_mount_path}/roles

ID операции: ssh-list-roles

Управление ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{ssh_mount_path}/roles/{role}

ID операции: ssh-read-role

Управление ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathда[Обязательно для всех типов] Имя создаваемой роли.
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{ssh_mount_path}/roles/{role}

ID операции: ssh-write-role

Управление ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathда[Обязательно для всех типов] Имя создаваемой роли.
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
algorithm_signerstring (, default, ssh-rsa, rsa-sha2-256, rsa-sha2-512)нет[Не применимо для типа OTP] [Необязательно для типа CA] Алгоритм подписи для ключа. Возможные значения: ssh-rsa, rsa-sha2-256, rsa-sha2-512, default или пустая строка.
allow_bare_domainsbooleanнет[Не применимо для типа OTP] [Необязательно для типа CA] Если задано, запрашиваемые сертификаты хоста могут использовать базовые домены из “allowed_domains”, например “example.com”. Это отдельный параметр, поскольку в некоторых случаях это может считаться угрозой безопасности.
allow_empty_principalsbooleanнет[Необязательно для типа CA] Если true, сертификаты хоста и пользователя могут выдаваться без допустимых принципалов (principals). Для сертификатов хоста это означает, что подключающийся клиент будет доверять любому домену, которым представится хост. Для сертификатов пользователя: если сертификат CA помещен в файл AuthorizedKeys пользователя, подключаться сможет любой принципал этого сертификата. Если allowed_users или allowed_domains (в зависимости от типа роли/сертификата) установлены в *, выдача разрешается даже при allow_empty_principals=false. Рекомендуется оставить этот параметр отключенным.
allow_host_certificatesboolean (default: False)нет[Не применимо для типа OTP] [Необязательно для типа CA] Если задано, разрешается подписывать сертификаты типа ‘host’.
allow_subdomainsbooleanнет[Не применимо для типа OTP] [Необязательно для типа CA] Если задано, запрашиваемые сертификаты хоста могут использовать поддомены доменов из “allowed_domains”.
allow_user_certificatesboolean (default: False)нет[Не применимо для типа OTP] [Необязательно для типа CA] Если задано, разрешается подписывать сертификаты типа ‘user’.
allow_user_key_idsbooleanнет[Не применимо для типа OTP] [Необязательно для типа CA] Если true, пользователи могут переопределить идентификатор ключа (key ID) подписанного сертификата полем “key_id”. Если false, идентификатором ключа всегда будет отображаемое имя токена. Идентификатор ключа записывается в журнал SSH-сервера и полезен для аудита.
allowed_critical_optionsstringнет[Не применимо для типа OTP] [Необязательно для типа CA] Список критических параметров (critical options) через запятую, которые могут быть у подписываемых сертификатов. Чтобы разрешить любые критические параметры, укажите пустую строку.
allowed_domainsstringнет[Не применимо для типа OTP] [Необязательно для типа CA] Если параметр не указан, клиент может запросить подписанный сертификат для любого корректного хоста. Если нужно разрешить только определенные домены, укажите их в этом списке.
allowed_domains_templateboolean (default: False)нет[Не применимо для типа OTP] [Необязательно для типа CA] Если задано, разрешенные домены можно указывать с помощью шаблонов политик Identity. Домены без шаблонов также допускаются.
allowed_extensionsstringнет[Не применимо для типа OTP] [Необязательно для типа CA] Список расширений через запятую, которые могут быть у подписываемых сертификатов. Пустой список означает, что конечный пользователь не может переопределять расширения; чтобы разрешить любые расширения, явно укажите ‘*’.
allowed_user_key_lengthsobjectнет[Не применимо для типа OTP] [Необязательно для типа CA] Если задано, при подписи проверяются разрешенные типы ключей и их минимальные размеры.
allowed_usersstringнет[Необязательно для всех типов] [Для типа CA работает иначе] Если параметр не указан или равен ‘’, клиент может запросить учетные данные для любого существующего пользователя на удаленном хосте, включая администратора. Если нужно разрешить только определенные имена пользователей, укажите их в этом списке. Если поле задано, учетные данные можно создавать только для default_user и пользователей из этого списка. При этом все пользователи с доступом к роли смогут получать учетные данные для всех имен из списка. Используйте с осторожностью. Примечание: для типа CA пустой список означает, что не разрешен ни один пользователь; чтобы разрешить любого, явно укажите ‘’.
allowed_users_templateboolean (default: False)нет[Не применимо для типа OTP] [Необязательно для типа CA] Если задано, разрешенных пользователей можно указывать с помощью шаблонов политик Identity. Пользователи без шаблонов также допускаются.
cidr_liststringнет[Необязательно для типа OTP] [Не применимо для типа CA] Список CIDR-блоков через запятую, к которым применяется роль. Один CIDR-блок может относиться к нескольким ролям.
default_critical_optionsobjectнет[Не применимо для типа OTP] [Необязательно для типа CA] Критические параметры, которые получают сертификаты, если при подписи параметры не переданы. Принимает пары «ключ — значение» в формате JSON. Эти значения не ограничиваются параметром “allowed_critical_options”. По умолчанию не заданы.
default_extensionsobjectнет[Не применимо для типа OTP] [Необязательно для типа CA] Расширения, которые получают сертификаты, если при подписи расширения не переданы. Принимает пары «ключ — значение» в формате JSON. Эти значения не ограничиваются параметром “allowed_extensions”. По умолчанию не заданы.
default_extensions_templateboolean (default: False)нет[Не применимо для типа OTP] [Необязательно для типа CA] Если задано, значения расширений по умолчанию можно указывать с помощью шаблонов политик Identity. Значения без шаблонов также допускаются.
default_userstringнет[Обязательно для типа OTP] [Необязательно для типа CA] Имя пользователя по умолчанию, для которого генерируются учетные данные. Если конечная точка ‘creds/’ вызывается без имени пользователя, используется это значение.
default_user_templateboolean (default: False)нет[Не применимо для типа OTP] [Необязательно для типа CA] Если задано, пользователя по умолчанию можно указывать с помощью шаблонов политик Identity. Пользователи без шаблонов также допускаются.
exclude_cidr_liststringнет[Необязательно для типа OTP] [Не применимо для типа CA] Список CIDR-блоков через запятую. IP-адреса из этих блоков роль не принимает. Полезно, когда роль использует большие CIDR-блоки и из них нужно исключить отдельные части.
key_id_formatstringнет[Не применимо для типа OTP] [Необязательно для типа CA] Пользовательский формат идентификатора ключа (key ID) подписанного сертификата. Доступные переменные: ‘{{token_display_name}}’ — отображаемое имя токена, которым выполнен запрос; ‘{{role_name}}’ — имя роли, подписывающей запрос; ‘{{public_key_hash}}’ — контрольная сумма SHA256 подписываемого открытого ключа.
key_typestring (otp, ca)нет[Обязательно для всех типов] Тип ключа для входа на хосты: ‘otp’ или ‘ca’. Для типа ‘otp’ на удаленных хостах должен быть установлен агент.
max_ttlintegerнет[Не применимо для типа OTP] [Необязательно для типа CA] Максимально допустимый срок аренды
not_before_durationinteger (default: 30)нет[Не применимо для типа OTP] [Необязательно для типа CA] На сколько сдвигать назад дату начала действия сертификата SSH при выпуске (backdate).
portintegerнет[Необязательно для типа OTP] [Не применимо для типа CA] Номер порта для SSH-подключения. По умолчанию ‘22’. Порт не влияет на создание OTP: для типа ‘otp’ это лишь способ сообщить клиенту, какой порт использовать. Сервер Stronghold возвращает номер порта клиенту вместе с OTP.
ttlintegerнет[Не применимо для типа OTP] [Необязательно для типа CA] Срок аренды, если конкретный срок не запрошен. Определяет срок действия сертификатов, выпускаемых этим бэкендом. По умолчанию равен max_ttl.

Ответы

200: OK

DELETE /{ssh_mount_path}/roles/{role}

ID операции: ssh-delete-role

Управление ролями, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathда[Обязательно для всех типов] Имя создаваемой роли.
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

POST /{ssh_mount_path}/sign/{role}

ID операции: ssh-sign-certificate

Запросить подпись SSH-ключа с указанными параметрами по определенной роли.

Параметры

ПараметрТипРасположениеОбязательныйОписание
rolestringpathдаРоль, конфигурация которой используется для этого запроса.
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
cert_typestring (default: user)нетТип создаваемого сертификата: “user” или “host”.
critical_optionsobjectнетКритические параметры (critical options), с которыми должен быть подписан сертификат.
extensionsobjectнетРасширения, с которыми должен быть подписан сертификат.
key_idstringнетИдентификатор ключа (key ID) создаваемого сертификата. Если не указан, используется отображаемое имя токена.
public_keystringнетОткрытый ключ SSH, который нужно подписать.
ttlintegerнетЗапрашиваемый срок жизни (TTL) сертификата SSH; определяет дату истечения срока действия. Если не указан, используется TTL по умолчанию роли, бэкенда или системы — в этом порядке. Не может превышать максимальный TTL роли.
valid_principalsstringнетДопустимые принципалы (principals) — имена пользователей или хостов, для которых подписывается сертификат.

Ответы

200: OK

DELETE /{ssh_mount_path}/tidy/dynamic-keys

ID операции: ssh-tidy-dynamic-host-keys

Удаляет сохраненные ключи хостов, которые использовались удаленной функцией динамических ключей (если такие ключи есть).

Параметры

ПараметрТипРасположениеОбязательныйОписание
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

POST /{ssh_mount_path}/verify

ID операции: ssh-verify-otp

Проверить OTP, предоставленный SSH-агентом Stronghold.

Доступен без аутентификации: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
ssh_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
otpstringнет[Обязательно] Одноразовый ключ, который нужно проверить

Ответы

200: OK

GET /{totp_mount_path}/code/{name}

ID операции: totp-generate-code

Запросить одноразовый пароль на основе времени (TOTP) или проверить пароль для определенного ключа.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа.
totp_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{totp_mount_path}/code/{name}

ID операции: totp-validate-code

Запросить одноразовый пароль на основе времени (TOTP) или проверить пароль для определенного ключа.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа.
totp_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
codestringнетПроверяемый TOTP-код.

Ответы

200: OK

GET /{totp_mount_path}/keys

ID операции: totp-list-keys

Управление ключами, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
totp_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{totp_mount_path}/keys/{name}

ID операции: totp-read-key

Управление ключами, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа.
totp_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststringqueryнетВернуть список, если true

Ответы

200: OK

POST /{totp_mount_path}/keys/{name}

ID операции: totp-create-key

Управление ключами, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа.
totp_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
account_namestringнетИмя учетной записи, связанной с ключом. Обязательно, если generate равен true.
algorithmstring (default: SHA1)нетАлгоритм хеширования для генерации TOTP-кода. Возможные значения: SHA1, SHA256 и SHA512.
digitsinteger (default: 6)нетКоличество цифр в генерируемом TOTP-коде: 6 или 8.
exportedboolean (default: True)нетВозвращать ли QR-код и URL при генерации ключа. Используется, только если generate равен true.
generateboolean (default: False)нетГенерируется ли ключ Stronghold или передается из другого сервиса.
issuerstringнетНазвание организации, выпустившей ключ. Обязательно, если generate равен true.
keystringнетОбщий мастер-ключ для генерации TOTP-кода. Используется, только если generate равен false.
key_sizeinteger (default: 20)нетРазмер генерируемого ключа в байтах. Используется, только если generate равен true.
periodinteger (default: 30)нетДлительность интервала, используемого для вычисления счетчика при расчете TOTP-кода.
qr_sizeinteger (default: 200)нетРазмер генерируемого квадратного QR-кода в пикселях. Используется, только если generate и exported равны true. Если значение 0, QR-код не возвращается.
skewinteger (default: 1)нетКоличество периодов задержки, допустимых при проверке TOTP-кода: 0 или 1. Используется, только если generate равен true.
urlstringнетURL TOTP со всеми параметрами настройки ключа. Используется, только если generate равен false.

Ответы

200: OK

DELETE /{totp_mount_path}/keys/{name}

ID операции: totp-delete-key

Управление ключами, которые можно создавать с помощью этого бэкенда.

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа.
totp_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{transit_mount_path}/backup/{name}

ID операции: transit-back-up-key

Создать резервную копию именованного ключа

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{transit_mount_path}/byok-export/{destination}/{source}

ID операции: transit-byok-key

Безопасно экспортировать именованный ключ шифрования или подписи

Параметры

ПараметрТипРасположениеОбязательныйОписание
destinationstringpathдаЦелевой ключ для экспорта; обычно открытый ключ-обертка (wrapping key) другого экземпляра Transit.
sourcestringpathдаЭкспортируемый исходный ключ; может быть любым существующим ключом в Transit.
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{transit_mount_path}/byok-export/{destination}/{source}/{version}

ID операции: transit-byok-key-version

Безопасно экспортировать именованный ключ шифрования или подписи

Параметры

ПараметрТипРасположениеОбязательныйОписание
destinationstringpathдаЦелевой ключ для экспорта; обычно открытый ключ-обертка (wrapping key) другого экземпляра Transit.
sourcestringpathдаЭкспортируемый исходный ключ; может быть любым существующим ключом в Transit.
versionstringpathдаНеобязательная версия экспортируемого ключа; если не указана, экспортируются все версии.
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{transit_mount_path}/cache-config

ID операции: transit-read-cache-configuration

Возвращает размер активного кеша

Параметры

ПараметрТипРасположениеОбязательныйОписание
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{transit_mount_path}/cache-config

ID операции: transit-configure-cache

Настраивает новый кеш указанного размера

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
sizeinteger (default: 0)нетРазмер кеша; 0 — без ограничений. По умолчанию 0

Ответы

200: OK

GET /{transit_mount_path}/config/keys

ID операции: transit-read-keys-configuration

Общая конфигурация для всех ключей

Параметры

ПараметрТипРасположениеОбязательныйОписание
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{transit_mount_path}/config/keys

ID операции: transit-configure-keys

Общая конфигурация для всех ключей

Параметры

ПараметрТипРасположениеОбязательныйОписание
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
disable_upsertbooleanнетРазрешить ли автоматическое создание ключей (upsert) при обращении к конечной точке encrypt.

Ответы

200: OK

POST /{transit_mount_path}/datakey/{plaintext}/{name}

ID операции: transit-generate-data-key

Сгенерировать ключ данных

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаКлюч бэкенда, которым шифруется ключ данных
plaintextstringpathда“plaintext” — вернуть ключ в открытом и зашифрованном виде; “wrapped” — только в зашифрованном.
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
bitsinteger (default: 256)нетДлина ключа в битах; поддерживаются 128, 256 и 512. По умолчанию 256.
contextstringнетКонтекст для деривации ключа. Обязателен для производных ключей.
key_versionintegerнетВерсия ключа Stronghold для шифрования ключа данных. Должна быть 0 (последняя версия) или не меньше min_encryption_version, заданной для ключа.
noncestringнетNonce для конвергентного шифрования v1 (только в Vault 0.6.1)

Ответы

200: OK

POST /{transit_mount_path}/decrypt/{name}

ID операции: transit-decrypt

Расшифровать шифртекст с помощью именованного ключа

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
associated_datastringнетПри использовании режима шифрования AEAD, например AES-GCM, позволяет передать в функцию шифрования связанные данные (AD/AAD). Эти данные нужно передавать и в последующих запросах на расшифровку, но их можно пересылать в открытом виде. Успешная расшифровка подтверждает, что ни шифртекст, ни связанные данные не были изменены.
batch_inputarrayнетСписок элементов для расшифровки одним пакетом. Если параметр задан, параметры ‘ciphertext’, ‘context’ и ’nonce’ игнорируются. Порядок результатов соответствует порядку входных элементов.
ciphertextstringнетШифртекст для расшифровки в том виде, в каком его вернула операция encrypt.
contextstringнетКонтекст для деривации ключа в кодировке base64. Обязателен, если включена деривация ключей.
noncestringнетЗначение nonce в кодировке base64, использованное при шифровании. Обязательно, если для ключа включено конвергентное шифрование и ключ создан в Vault 0.6.1. Для ключей, созданных в 0.6.2+, не требуется.
partial_failure_response_codeintegerнетОбычно, если часть элементов пакета не удалось расшифровать из-за некорректных входных данных, а остальные обработаны успешно, возвращается HTTP-код 400 (Bad Request). Некоторым приложениям частичные сбои нужно обрабатывать иначе: если указать этот параметр, в такой ситуации вместо 400 возвращается заданный код ответа. Если не удалось обработать ни одного элемента, все равно возвращается HTTP 400.

Ответы

200: OK

POST /{transit_mount_path}/encrypt/{name}

ID операции: transit-encrypt

Зашифровать открытый текст или пакет блоков открытого текста с помощью именованного ключа

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
associated_datastringнетПри использовании режима шифрования AEAD, например AES-GCM, позволяет передать в функцию шифрования связанные данные (AD/AAD). Эти данные нужно передавать и в последующих запросах на расшифровку, но их можно пересылать в открытом виде. Успешная расшифровка подтверждает, что ни шифртекст, ни связанные данные не были изменены.
batch_inputarrayнетСписок элементов для шифрования одним пакетом. Если параметр задан, параметры ‘plaintext’, ‘context’ и ’nonce’ игнорируются. Порядок результатов соответствует порядку входных элементов.
contextstringнетКонтекст для деривации ключа в кодировке base64. Обязателен, если включена деривация ключей
convergent_encryptionbooleanнетИспользуется, только если ключ должен быть создан. Включить ли поддержку конвергентного шифрования. Поддерживается только для ключей с включенной деривацией и требует, чтобы каждый запрос содержал контекст и 96-битный (12-байтный) nonce. Указанный nonce используется вместо случайно сгенерированного, поэтому при одинаковых контексте и nonce получается одинаковый шифртекст. В этом режиме *крайне важно* обеспечить уникальность всех nonce для каждого контекста, иначе безопасность шифртекста будет серьезно нарушена.
key_versionintegerнетВерсия ключа для шифрования. Должна быть 0 (последняя версия) или не меньше min_encryption_version, заданной для ключа.
noncestringнетЗначение nonce в кодировке base64. Обязательно, если для ключа включено конвергентное шифрование и ключ создан в Vault 0.6.1. Для ключей, созданных в 0.6.2+, не требуется. Длина значения — ровно 96 бит (12 байт); пользователь должен гарантировать, что для каждого контекста (а значит, и для каждого ключа шифрования) значение nonce *никогда не используется повторно*.
partial_failure_response_codeintegerнетОбычно, если часть элементов пакета не удалось зашифровать из-за некорректных входных данных, а остальные обработаны успешно, возвращается HTTP-код 400 (Bad Request). Некоторым приложениям частичные сбои нужно обрабатывать иначе: если указать этот параметр, в такой ситуации вместо 400 возвращается заданный код ответа. Если не удалось обработать ни одного элемента, все равно возвращается HTTP 400.
plaintextstringнетОткрытый текст для шифрования в кодировке base64
typestring (default: aes256-gcm96)нетОбязателен, если ключ шифрования должен быть создан. Тип ключа, создаваемого при операции upsert. Сейчас поддерживаются только “aes128-gcm96” (симметричный) и “aes256-gcm96” (симметричный). По умолчанию “aes256-gcm96”.

Ответы

200: OK

GET /{transit_mount_path}/export/{type}/{name}

ID операции: transit-export-key

Экспортировать именованный ключ шифрования или подписи

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
typestringpathдаТип экспортируемого ключа (encryption-key, signing-key, hmac-key, public-key)
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{transit_mount_path}/export/{type}/{name}/{version}

ID операции: transit-export-key-version

Экспортировать именованный ключ шифрования или подписи

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
typestringpathдаТип экспортируемого ключа (encryption-key, signing-key, hmac-key, public-key)
versionstringpathдаВерсия ключа
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{transit_mount_path}/hash

ID операции: transit-hash

Сгенерировать хеш-сумму входных данных

Параметры

ПараметрТипРасположениеОбязательныйОписание
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
algorithmstring (default: sha2-256)нетИспользуемый алгоритм (параметр тела POST-запроса). Допустимые значения: * sha2-224 * sha2-256 * sha2-384 * sha2-512 * sha3-224 * sha3-256 * sha3-384 * sha3-512 * streebog-256 * streebog-512. По умолчанию “sha2-256”.
formatstring (default: hex)нетИспользуемая кодировка: “hex” или “base64”. По умолчанию “hex”.
inputstringнетВходные данные в кодировке base64
urlalgorithmstringнетИспользуемый алгоритм (параметр URL POST-запроса)

Ответы

200: OK

POST /{transit_mount_path}/hash/{urlalgorithm}

ID операции: transit-hash-with-algorithm

Сгенерировать хеш-сумму входных данных

Параметры

ПараметрТипРасположениеОбязательныйОписание
urlalgorithmstringpathдаИспользуемый алгоритм (параметр URL POST-запроса)
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
algorithmstring (default: sha2-256)нетИспользуемый алгоритм (параметр тела POST-запроса). Допустимые значения: * sha2-224 * sha2-256 * sha2-384 * sha2-512 * sha3-224 * sha3-256 * sha3-384 * sha3-512 * streebog-256 * streebog-512. По умолчанию “sha2-256”.
formatstring (default: hex)нетИспользуемая кодировка: “hex” или “base64”. По умолчанию “hex”.
inputstringнетВходные данные в кодировке base64

Ответы

200: OK

POST /{transit_mount_path}/hmac/{name}

ID операции: transit-generate-hmac

Сгенерировать HMAC для входных данных с помощью именованного ключа

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаКлюч для функции HMAC
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
algorithmstring (default: sha2-256)нетИспользуемый алгоритм (параметр тела POST-запроса). Допустимые значения: * sha2-224 * sha2-256 * sha2-384 * sha2-512 * sha3-224 * sha3-256 * sha3-384 * sha3-512 * streebog-256 * streebog-512. По умолчанию “sha2-256”.
batch_inputarrayнетСписок элементов для обработки одним пакетом. Если параметр задан, параметр ‘input’ игнорируется. Порядок результатов соответствует порядку входных элементов.
inputstringнетВходные данные в кодировке base64
key_versionintegerнетВерсия ключа для генерации HMAC. Должна быть 0 (последняя версия) или не меньше min_encryption_version, заданной для ключа.
urlalgorithmstringнетИспользуемый алгоритм (параметр URL POST-запроса)

Ответы

200: OK

POST /{transit_mount_path}/hmac/{name}/{urlalgorithm}

ID операции: transit-generate-hmac-with-algorithm

Сгенерировать HMAC для входных данных с помощью именованного ключа

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаКлюч для функции HMAC
urlalgorithmstringpathдаИспользуемый алгоритм (параметр URL POST-запроса)
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
algorithmstring (default: sha2-256)нетИспользуемый алгоритм (параметр тела POST-запроса). Допустимые значения: * sha2-224 * sha2-256 * sha2-384 * sha2-512 * sha3-224 * sha3-256 * sha3-384 * sha3-512 * streebog-256 * streebog-512. По умолчанию “sha2-256”.
batch_inputarrayнетСписок элементов для обработки одним пакетом. Если параметр задан, параметр ‘input’ игнорируется. Порядок результатов соответствует порядку входных элементов.
inputstringнетВходные данные в кодировке base64
key_versionintegerнетВерсия ключа для генерации HMAC. Должна быть 0 (последняя версия) или не меньше min_encryption_version, заданной для ключа.

Ответы

200: OK

GET /{transit_mount_path}/keys

ID операции: transit-list-keys

Управление именованными ключами шифрования

Параметры

ПараметрТипРасположениеОбязательныйОписание
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststring (true)queryдаДолжно быть установлено значение true.

Ответы

200: OK

GET /{transit_mount_path}/keys/{name}

ID операции: transit-read-key

Управление именованными ключами шифрования

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{transit_mount_path}/keys/{name}

ID операции: transit-create-key

Управление именованными ключами шифрования

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
allow_plaintext_backupbooleanнетРазрешает создание резервной копии именованного ключа в открытом виде. После включения отключить нельзя.
auto_rotate_periodinteger (default: 0)нетВремя жизни ключа до автоматической ротации. Значение 0 (по умолчанию) отключает автоматическую ротацию ключа.
contextstringнетКонтекст для деривации ключа в кодировке base64. Если при чтении ключа с включенной деривацией его тип поддерживает открытые ключи, возвращается открытый ключ для указанного контекста.
convergent_encryptionbooleanнетВключить ли поддержку конвергентного шифрования. Поддерживается только для ключей с включенной деривацией и требует, чтобы каждый запрос содержал контекст и 96-битный (12-байтный) nonce. Указанный nonce используется вместо случайно сгенерированного, поэтому при одинаковых контексте и nonce получается одинаковый шифртекст. В этом режиме *крайне важно* обеспечить уникальность всех nonce для каждого контекста, иначе безопасность шифртекста будет серьезно нарушена.
derivedbooleanнетВключает режим деривации ключей. Это позволяет использовать уникальный ключ для каждой операции шифрования.
exportablebooleanнетРазрешает экспорт ключей. Это позволяет экспортировать все действующие ключи в связке ключей.
key_sizeinteger (default: 0)нетРазмер ключа в байтах. Применяется только к HMAC; не меньше 32 и не больше 512 байт
managed_key_idstringнетUUID управляемого ключа для этого ключа Transit
managed_key_namestringнетИмя управляемого ключа для этого ключа Transit
typestring (default: aes256-gcm96)нетТип создаваемого ключа. Поддерживаются: “aes128-gcm96” (симметричный), “aes256-gcm96” (симметричный), “ecdsa-p256” (асимметричный), “ecdsa-p384” (асимметричный), “ecdsa-p521” (асимметричный), “ed25519” (асимметричный), “rsa-2048” (асимметричный), “rsa-3072” (асимметричный), “rsa-4096” (асимметричный), “gost28147” (симметричный), “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c”, “gost341264” (симметричный), “gost3412128” (симметричный). По умолчанию “aes256-gcm96”.

Ответы

200: OK

DELETE /{transit_mount_path}/keys/{name}

ID операции: transit-delete-key

Управление именованными ключами шифрования

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

POST /{transit_mount_path}/keys/{name}/config

ID операции: transit-configure-key

Настроить именованный ключ шифрования

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
allow_plaintext_backupbooleanнетРазрешает создание резервной копии именованного ключа в открытом виде. После включения отключить нельзя.
auto_rotate_periodintegerнетВремя жизни ключа до автоматической ротации. Значение 0 отключает автоматическую ротацию ключа.
deletion_allowedbooleanнетРазрешить ли удаление ключа
exportablebooleanнетРазрешает экспорт ключа. После включения отключить нельзя.
min_decryption_versionintegerнетЕсли задано, минимальная версия ключа, которую разрешено использовать для расшифровки. Для ключей подписи — минимальная версия, которую разрешено использовать для проверки подписи.
min_encryption_versionintegerнетЕсли задано, минимальная версия ключа, которую разрешено использовать для шифрования (для ключей подписи — для подписи). Если 0, разрешена только последняя версия ключа.

Ответы

200: OK

POST /{transit_mount_path}/keys/{name}/import

ID операции: transit-import-key

Импортирует сгенерированный извне ключ в новый ключ Transit

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
allow_plaintext_backupbooleanнетРазрешает создание резервной копии именованного ключа в открытом виде. После включения отключить нельзя.
allow_rotationbooleanнетTrue, если для импортированного ключа разрешена ротация в Stronghold; иначе false.
auto_rotate_periodinteger (default: 0)нетВремя жизни ключа до автоматической ротации. Значение 0 (по умолчанию) отключает автоматическую ротацию ключа.
ciphertextstringнетШифртекст ключей в кодировке base64. Ключ AES должен быть зашифрован по схеме OAEP ключом-оберткой (wrapping key), а затем объединен с импортируемым ключом, обернутым этим ключом AES.
contextstringнетКонтекст для деривации ключа в кодировке base64. Если при чтении ключа с включенной деривацией его тип поддерживает открытые ключи, возвращается открытый ключ для указанного контекста.
derivedbooleanнетВключает режим деривации ключей. Это позволяет использовать уникальный ключ для каждой операции шифрования.
exportablebooleanнетРазрешает экспорт ключей. Это позволяет экспортировать все действующие ключи в связке ключей.
hash_functionstring (default: SHA256)нетХеш-функция, используемая в качестве случайного оракула в OAEP при обертывании эфемерного ключа AES, сгенерированного пользователем. Возможные значения: “SHA1”, “SHA224”, “SHA256” (по умолчанию), “SHA384” или “SHA512”
public_keystringнетИмпортируемый открытый ключ в формате PEM (в незашифрованном виде). Если задан “ciphertext”, это поле игнорируется.
typestring (default: aes256-gcm96)нетТип импортируемого ключа. Поддерживаются: “aes128-gcm96” (симметричный), “aes256-gcm96” (симметричный), “ecdsa-p256” (асимметричный), “ecdsa-p384” (асимметричный), “ecdsa-p521” (асимметричный), “ed25519” (асимметричный), “rsa-2048” (асимметричный), “rsa-3072” (асимметричный), “rsa-4096” (асимметричный), “gost28147” (симметричный), “gost3410-256-paramset-a”, “gost3410-256-paramset-b”, “gost3410-256-paramset-c”, “gost3410-256-paramset-d”, “gost3410-512-paramset-a”, “gost3410-512-paramset-b”, “gost3410-512-paramset-c”, “gost341264” (симметричный), “gost3412128” (симметричный). По умолчанию “aes256-gcm96”.

Ответы

200: OK

POST /{transit_mount_path}/keys/{name}/import_version

ID операции: transit-import-key-version

Импортирует сгенерированный извне ключ в существующий импортированный ключ

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
ciphertextstringнетШифртекст ключей в кодировке base64. Ключ AES должен быть зашифрован по схеме OAEP ключом-оберткой (wrapping key), а затем объединен с импортируемым ключом, обернутым этим ключом AES.
hash_functionstring (default: SHA256)нетХеш-функция, используемая в качестве случайного оракула в OAEP при обертывании эфемерного ключа AES, сгенерированного пользователем. Возможные значения: “SHA1”, “SHA224”, “SHA256” (по умолчанию), “SHA384” или “SHA512”
public_keystringнетИмпортируемый открытый ключ в незашифрованном виде. Если задан “ciphertext”, это поле игнорируется.
versionintegerнетОбновляемая версия ключа. Если не указана, создается новая версия — кроме случая, когда указан закрытый ключ, а у версии ‘Latest’ закрытого ключа нет.

Ответы

200: OK

POST /{transit_mount_path}/keys/{name}/rotate

ID операции: transit-rotate-key

Выполнить ротацию именованного ключа шифрования

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
managed_key_idstringнетUUID управляемого ключа для новой версии этого ключа Transit
managed_key_namestringнетИмя управляемого ключа для новой версии этого ключа Transit

Ответы

200: OK

POST /{transit_mount_path}/keys/{name}/trim

ID операции: transit-trim-key

Удалить старые версии именованного ключа

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
min_available_versionintegerнетМинимальная доступная версия в связке ключей. Все более ранние версии будут удалены безвозвратно. Значение не может превышать меньшее из ‘min_decryption_version’ и ‘min_encryption_version’. Нельзя задать, если ‘min_encryption_version’ или ‘min_decryption_version’ равны нулю.

Ответы

200: OK

POST /{transit_mount_path}/random

ID операции: transit-generate-random

Сгенерировать случайные байты

Параметры

ПараметрТипРасположениеОбязательныйОписание
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
bytesinteger (default: 32)нетКоличество генерируемых байтов (параметр тела POST-запроса). По умолчанию 32 (256 бит).
formatstring (default: base64)нетИспользуемая кодировка: “hex” или “base64”. По умолчанию “base64”.
sourcestring (default: platform)нетИсточник случайных данных: “platform”, “seal” или “all”.
urlbytesstringнетКоличество генерируемых байтов (параметр URL POST-запроса)

Ответы

200: OK

POST /{transit_mount_path}/random/{source}

ID операции: transit-generate-random-with-source

Сгенерировать случайные байты

Параметры

ПараметрТипРасположениеОбязательныйОписание
sourcestringpathдаИсточник случайных данных: “platform”, “seal” или “all”.
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
bytesinteger (default: 32)нетКоличество генерируемых байтов (параметр тела POST-запроса). По умолчанию 32 (256 бит).
formatstring (default: base64)нетИспользуемая кодировка: “hex” или “base64”. По умолчанию “base64”.
urlbytesstringнетКоличество генерируемых байтов (параметр URL POST-запроса)

Ответы

200: OK

POST /{transit_mount_path}/random/{source}/{urlbytes}

ID операции: transit-generate-random-with-source-and-bytes

Сгенерировать случайные байты

Параметры

ПараметрТипРасположениеОбязательныйОписание
sourcestringpathдаИсточник случайных данных: “platform”, “seal” или “all”.
urlbytesstringpathдаКоличество генерируемых байтов (параметр URL POST-запроса)
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
bytesinteger (default: 32)нетКоличество генерируемых байтов (параметр тела POST-запроса). По умолчанию 32 (256 бит).
formatstring (default: base64)нетИспользуемая кодировка: “hex” или “base64”. По умолчанию “base64”.

Ответы

200: OK

POST /{transit_mount_path}/random/{urlbytes}

ID операции: transit-generate-random-with-bytes

Сгенерировать случайные байты

Параметры

ПараметрТипРасположениеОбязательныйОписание
urlbytesstringpathдаКоличество генерируемых байтов (параметр URL POST-запроса)
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
bytesinteger (default: 32)нетКоличество генерируемых байтов (параметр тела POST-запроса). По умолчанию 32 (256 бит).
formatstring (default: base64)нетИспользуемая кодировка: “hex” или “base64”. По умолчанию “base64”.
sourcestring (default: platform)нетИсточник случайных данных: “platform”, “seal” или “all”.

Ответы

200: OK

POST /{transit_mount_path}/restore

ID операции: transit-restore-key

Восстановить именованный ключ

Параметры

ПараметрТипРасположениеОбязательныйОписание
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
backupstringнетДанные резервной копии ключа для восстановления — результат конечной точки ‘backup/’.
forceboolean (default: False)нетЕсли задано и ключ с указанным именем существует, восстановление выполняется принудительно с перезаписью ключа.
namestringнетЕсли задано, используется как имя восстановленного ключа.

Ответы

200: OK

POST /{transit_mount_path}/restore/{name}

ID операции: transit-restore-and-rename-key

Восстановить именованный ключ

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаЕсли задано, используется как имя восстановленного ключа.
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
backupstringнетДанные резервной копии ключа для восстановления — результат конечной точки ‘backup/’.
forceboolean (default: False)нетЕсли задано и ключ с указанным именем существует, восстановление выполняется принудительно с перезаписью ключа.

Ответы

200: OK

POST /{transit_mount_path}/rewrap/{name}

ID операции: transit-rewrap

Перешифровать шифртекст (rewrap)

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
batch_inputarrayнетСписок элементов для перешифрования одним пакетом. Если параметр задан, параметры ‘ciphertext’, ‘context’ и ’nonce’ игнорируются. Порядок результатов соответствует порядку входных элементов.
ciphertextstringнетШифртекст для перешифрования
contextstringнетКонтекст для деривации ключа в кодировке base64. Обязателен для производных ключей.
key_versionintegerнетВерсия ключа для шифрования. Должна быть 0 (последняя версия) или не меньше min_encryption_version, заданной для ключа.
noncestringнетNonce для конвергентного шифрования

Ответы

200: OK

POST /{transit_mount_path}/sign/{name}

ID операции: transit-sign

Сгенерировать подпись для входных данных с помощью именованного ключа

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИспользуемый ключ
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
algorithmstring (default: sha2-256)нетУстарело: используйте вместо этого “hash_algorithm”.
batch_inputarrayнетСписок элементов для обработки. Если параметр задан, параметры ‘input’ и ‘context’ игнорируются. Результаты возвращаются в массиве ‘batch_results’ элемента ‘data’ ответа. Порядок результатов соответствует порядку входных элементов
contextstringнетКонтекст для деривации ключа в кодировке base64. Обязателен, если включена деривация ключей; сейчас доступен только для ключей ed25519.
hash_algorithmstring (default: sha2-256)нетИспользуемый алгоритм хеширования (параметр тела POST-запроса). Допустимые значения: * sha1 * sha2-224 * sha2-256 * sha2-384 * sha2-512 * sha3-224 * sha3-256 * sha3-384 * sha3-512 * none. По умолчанию “sha2-256”. Подходит не для всех типов ключей, в том числе не для ed25519. Значение none требует prehashed=true и signature_algorithm=pkcs1v15 и дает подпись PKCSv1_5_NoOID вместо обычной PKCSv1_5_DERnull.
inputstringнетВходные данные в кодировке base64
key_versionintegerнетВерсия ключа для подписи. Должна быть 0 (последняя версия) или не меньше min_encryption_version, заданной для ключа.
marshaling_algorithmstring (default: asn1)нетСпособ сериализации подписи. По умолчанию ‘asn1’ — используется в OpenSSL и X.509. Можно указать ‘jws’ — используется для подписей JWT; в этом случае подпись кодируется в URL-безопасном base64 вместо стандартного. Сейчас поддерживается только для ключей ECDSA P-256.
prehashedbooleanнетЗначение ’true’ означает, что входные данные уже хешированы. Для ключей типа ‘rsa-2048’, ‘rsa-3072’ или ‘rsa-4096’ алгоритм хеширования входных данных нужно указать в параметре ‘algorithm’.
salt_lengthstring (default: auto)нетДлина соли при подписи. Сейчас применяется только к схеме подписи RSA PSS. Возможные значения: ‘auto’ (значение по умолчанию в Go: соль максимально возможной длины), ‘hash’ (длина соли равна длине хеша в подписи) или целое число между минимальной и максимальной допустимой длиной соли для данного размера ключа RSA. По умолчанию ‘auto’.
signature_algorithmstringнетАлгоритм подписи. Сейчас применяется только к ключам RSA. Возможные значения: ‘pss’ или ‘pkcs1v15’. По умолчанию ‘pss’
urlalgorithmstringнетИспользуемый алгоритм хеширования (параметр URL POST-запроса)

Ответы

200: OK

POST /{transit_mount_path}/sign/{name}/{urlalgorithm}

ID операции: transit-sign-with-algorithm

Сгенерировать подпись для входных данных с помощью именованного ключа

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИспользуемый ключ
urlalgorithmstringpathдаИспользуемый алгоритм хеширования (параметр URL POST-запроса)
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
algorithmstring (default: sha2-256)нетУстарело: используйте вместо этого “hash_algorithm”.
batch_inputarrayнетСписок элементов для обработки. Если параметр задан, параметры ‘input’ и ‘context’ игнорируются. Результаты возвращаются в массиве ‘batch_results’ элемента ‘data’ ответа. Порядок результатов соответствует порядку входных элементов
contextstringнетКонтекст для деривации ключа в кодировке base64. Обязателен, если включена деривация ключей; сейчас доступен только для ключей ed25519.
hash_algorithmstring (default: sha2-256)нетИспользуемый алгоритм хеширования (параметр тела POST-запроса). Допустимые значения: * sha1 * sha2-224 * sha2-256 * sha2-384 * sha2-512 * sha3-224 * sha3-256 * sha3-384 * sha3-512 * none. По умолчанию “sha2-256”. Подходит не для всех типов ключей, в том числе не для ed25519. Значение none требует prehashed=true и signature_algorithm=pkcs1v15 и дает подпись PKCSv1_5_NoOID вместо обычной PKCSv1_5_DERnull.
inputstringнетВходные данные в кодировке base64
key_versionintegerнетВерсия ключа для подписи. Должна быть 0 (последняя версия) или не меньше min_encryption_version, заданной для ключа.
marshaling_algorithmstring (default: asn1)нетСпособ сериализации подписи. По умолчанию ‘asn1’ — используется в OpenSSL и X.509. Можно указать ‘jws’ — используется для подписей JWT; в этом случае подпись кодируется в URL-безопасном base64 вместо стандартного. Сейчас поддерживается только для ключей ECDSA P-256.
prehashedbooleanнетЗначение ’true’ означает, что входные данные уже хешированы. Для ключей типа ‘rsa-2048’, ‘rsa-3072’ или ‘rsa-4096’ алгоритм хеширования входных данных нужно указать в параметре ‘algorithm’.
salt_lengthstring (default: auto)нетДлина соли при подписи. Сейчас применяется только к схеме подписи RSA PSS. Возможные значения: ‘auto’ (значение по умолчанию в Go: соль максимально возможной длины), ‘hash’ (длина соли равна длине хеша в подписи) или целое число между минимальной и максимальной допустимой длиной соли для данного размера ключа RSA. По умолчанию ‘auto’.
signature_algorithmstringнетАлгоритм подписи. Сейчас применяется только к ключам RSA. Возможные значения: ‘pss’ или ‘pkcs1v15’. По умолчанию ‘pss’

Ответы

200: OK

POST /{transit_mount_path}/verify/{name}

ID операции: transit-verify

Проверить подпись или HMAC входных данных, созданные с помощью именованного ключа

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИспользуемый ключ
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
algorithmstring (default: sha2-256)нетУстарело: используйте вместо этого “hash_algorithm”.
batch_inputarrayнетСписок элементов для обработки. Если параметр задан, параметры ‘input’, ‘hmac’ и ‘signature’ игнорируются. Результаты возвращаются в массиве ‘batch_results’ элемента ‘data’ ответа. Порядок результатов соответствует порядку входных элементов
contextstringнетКонтекст для деривации ключа в кодировке base64. Обязателен, если включена деривация ключей; сейчас доступен только для ключей ed25519.
hash_algorithmstring (default: sha2-256)нетИспользуемый алгоритм хеширования (параметр тела POST-запроса). Допустимые значения: * sha1 * sha2-224 * sha2-256 * sha2-384 * sha2-512 * sha3-224 * sha3-256 * sha3-384 * sha3-512 * none. По умолчанию “sha2-256”. Подходит не для всех типов ключей. См. примечание о none в описании пути подписи.
hmacstringнетHMAC, включая заголовок Stronghold и версию ключа
inputstringнетВходные данные в кодировке base64 для проверки
marshaling_algorithmstring (default: asn1)нетСпособ десериализации подписи при проверке. По умолчанию ‘asn1’ — используется в OpenSSL и X.509. Можно указать ‘jws’ — используется для подписей JWT; в этом случае подпись должна быть в URL-безопасном base64 вместо стандартного. Сейчас поддерживается только для ключей ECDSA P-256.
prehashedbooleanнетЗначение ’true’ означает, что входные данные уже хешированы. Для ключей типа ‘rsa-2048’, ‘rsa-3072’ или ‘rsa-4096’ алгоритм хеширования входных данных нужно указать в параметре ‘algorithm’.
salt_lengthstring (default: auto)нетДлина соли при подписи. Сейчас применяется только к схеме подписи RSA PSS. Возможные значения: ‘auto’ (значение по умолчанию в Go: соль максимально возможной длины), ‘hash’ (длина соли равна длине хеша в подписи) или целое число между минимальной и максимальной допустимой длиной соли для данного размера ключа RSA. По умолчанию ‘auto’.
signaturestringнетПодпись, включая заголовок Stronghold и версию ключа
signature_algorithmstringнетАлгоритм подписи для проверки. Сейчас применяется только к ключам RSA. Возможные значения: ‘pss’ или ‘pkcs1v15’. По умолчанию ‘pss’
urlalgorithmstringнетИспользуемый алгоритм хеширования (параметр URL POST-запроса)

Ответы

200: OK

POST /{transit_mount_path}/verify/{name}/{urlalgorithm}

ID операции: transit-verify-with-algorithm

Проверить подпись или HMAC входных данных, созданные с помощью именованного ключа

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИспользуемый ключ
urlalgorithmstringpathдаИспользуемый алгоритм хеширования (параметр URL POST-запроса)
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
algorithmstring (default: sha2-256)нетУстарело: используйте вместо этого “hash_algorithm”.
batch_inputarrayнетСписок элементов для обработки. Если параметр задан, параметры ‘input’, ‘hmac’ и ‘signature’ игнорируются. Результаты возвращаются в массиве ‘batch_results’ элемента ‘data’ ответа. Порядок результатов соответствует порядку входных элементов
contextstringнетКонтекст для деривации ключа в кодировке base64. Обязателен, если включена деривация ключей; сейчас доступен только для ключей ed25519.
hash_algorithmstring (default: sha2-256)нетИспользуемый алгоритм хеширования (параметр тела POST-запроса). Допустимые значения: * sha1 * sha2-224 * sha2-256 * sha2-384 * sha2-512 * sha3-224 * sha3-256 * sha3-384 * sha3-512 * none. По умолчанию “sha2-256”. Подходит не для всех типов ключей. См. примечание о none в описании пути подписи.
hmacstringнетHMAC, включая заголовок Stronghold и версию ключа
inputstringнетВходные данные в кодировке base64 для проверки
marshaling_algorithmstring (default: asn1)нетСпособ десериализации подписи при проверке. По умолчанию ‘asn1’ — используется в OpenSSL и X.509. Можно указать ‘jws’ — используется для подписей JWT; в этом случае подпись должна быть в URL-безопасном base64 вместо стандартного. Сейчас поддерживается только для ключей ECDSA P-256.
prehashedbooleanнетЗначение ’true’ означает, что входные данные уже хешированы. Для ключей типа ‘rsa-2048’, ‘rsa-3072’ или ‘rsa-4096’ алгоритм хеширования входных данных нужно указать в параметре ‘algorithm’.
salt_lengthstring (default: auto)нетДлина соли при подписи. Сейчас применяется только к схеме подписи RSA PSS. Возможные значения: ‘auto’ (значение по умолчанию в Go: соль максимально возможной длины), ‘hash’ (длина соли равна длине хеша в подписи) или целое число между минимальной и максимальной допустимой длиной соли для данного размера ключа RSA. По умолчанию ‘auto’.
signaturestringнетПодпись, включая заголовок Stronghold и версию ключа
signature_algorithmstringнетАлгоритм подписи для проверки. Сейчас применяется только к ключам RSA. Возможные значения: ‘pss’ или ‘pkcs1v15’. По умолчанию ‘pss’

Ответы

200: OK

GET /{transit_mount_path}/wrapping_key

ID операции: transit-read-wrapping-key

Возвращает открытый ключ для обертывания импортируемых ключей

Параметры

ПараметрТипРасположениеОбязательныйОписание
transit_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{trdl_mount_path}/configure

ID операции: trdl-read-configure

Настроить плагин

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{trdl_mount_path}/configure

ID операции: trdl-write-configure

Настроить плагин

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
buildkitd_addressstringнетАдрес запущенного buildkitd (схемы unix://, tcp://, docker-container:// или kube-pod://) для сборки артефактов релиза через клиент BuildKit; docker CLI используется, только если не задан ни этот параметр, ни buildkitd_driver. Секреты сборки передаются этому демону, а tcp:// не шифруется и не аутентифицируется, поэтому защита канала и изоляция демона — ответственность администратора
buildkitd_driverstringнетЗапускать отдельный эфемерный buildkitd для каждой сборки вместо docker CLI: драйвер kubernetes запускает его как под, и бинарник docker рядом с плагином не нужен. Нельзя сочетать с buildkitd_address, buildx_driver или buildx_driver_opts. Заданная в окружении процесса переменная TRDL_BUILDKITD_ADDRESS приоритетнее сохраненного драйвера; в этом случае сборка сообщает, что драйвер не используется
buildkitd_driver_optsarrayнетПараметры драйвера buildkitd, по одной паре name=value на элемент (например, namespace=trdl-build); требуют заданного buildkitd_driver. Драйвер kubernetes принимает annotations, deadline, image, labels, limits.cpu, limits.ephemeral-storage, limits.memory, namespace, nodeselector, requests.cpu, requests.ephemeral-storage, requests.memory, rootless, serviceaccount и timeout; остальные отклоняются. Если deadline не задан, по умолчанию он равен оставшемуся времени задачи релиза на момент создания пода плюс пять минут, чтобы при сбое плагина под сборщика не продолжал работать бесконечно
buildx_driverstringнетДрайвер buildx для сборки артефактов релиза: docker-container (по умолчанию) или kubernetes. Приоритетнее переменной окружения TRDL_BUILDX_DRIVER; нельзя сочетать с buildkitd_address или buildkitd_driver
buildx_driver_optsarrayнетПараметры драйвера buildx, по одному –driver-opt на элемент (например, namespace=trdl-build); передаются как есть. Приоритетнее переменных окружения TRDL_BUILDX_DRIVER_OPTS_*; нельзя сочетать с buildkitd_address или buildkitd_driver
git_repo_urlstringдаURL Git-репозитория
git_trdl_channels_branchstringнетСпециальная ветка Git для хранения файла конфигурации каналов trdl
git_trdl_channels_pathstringнетПуть в Git-репозитории к файлу конфигурации каналов trdl (по умолчанию используется trdl_channels.yaml)
git_trdl_pathstringнетПуть в Git-репозитории к файлу конфигурации релиза trdl (по умолчанию используется trdl.yaml)
initial_last_published_git_commitstringнетНачальный коммит последней успешной публикации
required_number_of_verified_signatures_on_commitintegerдаТребуемое число верифицированных подписей для коммита
s3_access_key_idstringдаИдентификатор ключа доступа хранилища S3
s3_bucket_namestringдаИмя бакета хранилища S3
s3_endpointstringдаКонечная точка хранилища S3
s3_regionstringдаРегион хранилища S3
s3_secret_access_keystringдаСекретный ключ доступа хранилища S3

Ответы

200: OK

DELETE /{trdl_mount_path}/configure

ID операции: trdl-delete-configure

Настроить плагин

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

POST /{trdl_mount_path}/configure/build/mac_signing_identity

ID операции: trdl-write-configure-build-mac_signing_identity

Добавить или обновить учетные данные для подписи сборки

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
datastringдаДанные сертификата в кодировке base64
notary_issuerstringдаЭмитент Notary
notary_keystringдаКлюч Notary в кодировке base64
notary_key_idstringдаИдентификатор ключа Notary
passwordstringдаПароль сертификата

Ответы

200: OK

DELETE /{trdl_mount_path}/configure/build/mac_signing_identity

ID операции: trdl-delete-configure-build-mac_signing_identity

Добавить или обновить учетные данные для подписи сборки

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

POST /{trdl_mount_path}/configure/build/secrets

ID операции: trdl-write-configure-build-secrets

Добавить секрет сборки

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
datastringдаДанные секрета
idstringдаИдентификатор секрета

Ответы

200: OK

DELETE /{trdl_mount_path}/configure/build/secrets/{id}

ID операции: trdl-delete-configure-build-secrets-id

Удалить секрет сборки

Параметры

ПараметрТипРасположениеОбязательныйОписание
idstringpathдаИдентификатор секрета
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

POST /{trdl_mount_path}/configure/delivery_kit_elf_signing

ID операции: trdl-write-configure-delivery_kit_elf_signing

Настроить подпись ELF-бинарников через Delivery Kit

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
certificatestringдаДанные сертификата в кодировке base64
intermediatesstringнетЦепочка сертификатов (промежуточные и корневой) в кодировке base64 в виде единого PEM-бандла
keystringдаДанные закрытого ключа в кодировке base64 или ссылка на ключ Stronghold в форме hashivault://<key>. При использовании ссылки hashivault:// настройте параметры stronghold_*
passwordstringнетПароль закрытого ключа. Не должен задаваться, когда key — ссылка hashivault://
vault_addrstringнетАдрес сервера Stronghold. Применяется только когда key — ссылка hashivault://
vault_auth_pathstring (default: ar)нетПуть монтирования метода аутентификации Stronghold. Применяется только когда key — ссылка hashivault://
vault_auth_role_idstringнетRoleID AppRole для аутентификации в Stronghold. Применяется только когда key — ссылка hashivault://
vault_auth_secret_idstringнетSecretID AppRole для аутентификации в Stronghold. Применяется только когда key — ссылка hashivault://
vault_transit_pathstringнетПуть монтирования механизма Transit в Stronghold. Применяется только когда key — ссылка hashivault://

Ответы

200: OK

DELETE /{trdl_mount_path}/configure/delivery_kit_elf_signing

ID операции: trdl-delete-configure-delivery_kit_elf_signing

Настроить подпись ELF-бинарников через Delivery Kit

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

POST /{trdl_mount_path}/configure/git_credential

ID операции: trdl-write-configure-git_credential

Настроить учетные данные Git

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
passwordstringнетПароль Git; обязателен для CREATE, UPDATE.
usernamestringнетИмя пользователя Git; обязательно для CREATE, UPDATE.

Ответы

200: OK

DELETE /{trdl_mount_path}/configure/git_credential

ID операции: trdl-delete-configure-git_credential

Настроить учетные данные Git

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{trdl_mount_path}/configure/last_published_git_commit

ID операции: trdl-read-configure-last_published_git_commit

Прочитать или удалить последний опубликованный Git-коммит

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

DELETE /{trdl_mount_path}/configure/last_published_git_commit

ID операции: trdl-delete-configure-last_published_git_commit

Прочитать или удалить последний опубликованный Git-коммит

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{trdl_mount_path}/configure/pgp_signing_key

ID операции: trdl-read-configure-pgp_signing_key

Настроить PGP-ключ для подписи артефактов релиза

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

DELETE /{trdl_mount_path}/configure/pgp_signing_key

ID операции: trdl-delete-configure-pgp_signing_key

Удалить текущий PGP-ключ подписи

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

GET /{trdl_mount_path}/configure/trusted_pgp_public_key

ID операции: trdl-read-configure-trusted_pgp_public_key

Настроить доверенные открытые ключи PGP

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststringqueryнетВернуть список, если true

Ответы

200: OK

POST /{trdl_mount_path}/configure/trusted_pgp_public_key

ID операции: trdl-write-configure-trusted_pgp_public_key

Настроить доверенные открытые ключи PGP

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
namestringдаИмя ключа
public_keystringдаДанные ключа

Ответы

200: OK

GET /{trdl_mount_path}/configure/trusted_pgp_public_key/{name}

ID операции: trdl-read-configure-trusted_pgp_public_key-name

Прочитать или удалить настроенный доверенный открытый ключ PGP

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд
liststringqueryнетВернуть список, если true

Ответы

200: OK

DELETE /{trdl_mount_path}/configure/trusted_pgp_public_key/{name}

ID операции: trdl-delete-configure-trusted_pgp_public_key-name

Прочитать или удалить настроенный доверенный открытый ключ PGP

Параметры

ПараметрТипРасположениеОбязательныйОписание
namestringpathдаИмя ключа
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

204: пустое тело

POST /{trdl_mount_path}/publish

ID операции: trdl-write-publish

Опубликовать каналы релиза

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
git_passwordstringнетПароль Git
git_usernamestringнетИмя пользователя Git

Ответы

200: OK

POST /{trdl_mount_path}/release

ID операции: trdl-write-release

Выполнить релиз

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
git_passwordstringнетПароль Git
git_tagstringдаТег Git
git_usernamestringнетИмя пользователя Git

Ответы

200: OK

GET /{trdl_mount_path}/task

ID операции: trdl-read-task

Получить задачи

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{trdl_mount_path}/task/configure

ID операции: trdl-read-task-configure

Настроить менеджер задач

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{trdl_mount_path}/task/configure

ID операции: trdl-write-task-configure

Настроить менеджер задач

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Параметры тела запроса

ПараметрТипОбязательныйОписание
task_history_limitinteger (default: 10)нетЛимит истории задач
task_timeoutinteger (default: 30m)нетТайм-аут задачи

Ответы

200: OK

GET /{trdl_mount_path}/task/{uuid}

ID операции: trdl-read-task-uuid

Получить статус задачи

Параметры

ПараметрТипРасположениеОбязательныйОписание
uuidstringpathдаUUID задачи
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

POST /{trdl_mount_path}/task/{uuid}/cancel

ID операции: trdl-write-task-uuid-cancel

Отменить выполняющуюся задачу

Поддерживается создание: да

Параметры

ПараметрТипРасположениеОбязательныйОписание
uuidstringpathдаUUID задачи
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK

GET /{trdl_mount_path}/task/{uuid}/log

ID операции: trdl-read-task-uuid-log

Получить журнал задачи

Параметры

ПараметрТипРасположениеОбязательныйОписание
limitintegerqueryнетОграничение числа символов
offsetintegerqueryнетСмещение
uuidstringpathдаUUID задачи
trdl_mount_pathstringpathдаПуть, по которому смонтирован бэкенд

Ответы

200: OK