Загрузка сертификата
Метод предназначен для загрузки личного сертификата для указанного домена
info
Для корректной загрузки сертификата убедитесь, что файл сертификата начинается с одного из следующих заголовков:
-----BEGIN CERTIFICATE-----
-----BEGIN X509 CERTIFICATE-----
-----BEGIN TRUSTED CERTIFICATE-----
.
В конце файл должен содержать соответствующий закрывающий тег: -----END CERTIFICATE-----
-----END X509 CERTIFICATE-----
-----END TRUSTED CERTIFICATE-----
Параметры запроса
POST /api/clients/v1/domains/{id}/uploadCertificate/
Headers
- Content-Type: application/json
- Authorization: Bearer
$access_token
Path
Параметр | Тип | Ограничения | Описание | Пример |
---|---|---|---|---|
id | integer | > 0, обязательный | ID домена | 1 |
JSON body
Параметр | Тип | Ограничения | Описание |
---|---|---|---|
cert | string | Обязательный | Сертификат |
ca_cert | string | Обязательный | Корневой сертификат |
key | string | Обязательный | Ключ сертификата |
password | string | 0 < password < 256 | Пароль для ключа сертификата |
Параметры ответа
JSON body
Параметр | Тип | Описание |
---|---|---|
domain_id | integer | ID домена |
domain_name | string | Имя домена |
is_custom | boolean | Указывает, что сертификат был загружен вручную клиентом |
issuer | string | Поставщик сертификата |
serial | string | Серийный номер сертификата |
issue_date | datetime | Дата выпуска сертификата |
expiry_date | datetime | Дата истечения срока сертификата |
Примеры
200 OK
Сертификат загружен
{
"domain_id": 1,
"domain_name": "example.com",
"is_custom": false,
"issuer": "C = US, O = Let's Encrypt, CN = Artificial Apricot R3",
"serial": "2B9C69E943BE4ECD9945FB0E9C05C0316FEG",
"issue_date": "2024-05-17T15:46:40.108Z",
"expiry_date": "2024-08-17T15:46:40.108Z"
}
400 Bad Request
Указаны невалидные path или body-параметры
{
"id": [
"A valid integer is required."
],
"detail": [
"The key does not match the certificate",
"The CA certificate does not match the domain certificate",
"Invalid SSL cert content",
"Invalid SSL private key content",
"The certificate does not match the domain name",
"The certificate has expired",
"Certificate password is too long, max length: 256"
]
}
401 Unauthorized
Учетные данные для аутентификации отсутствуют или недействительны
{
"detail": "Given token not valid for any token type",
"code": "token_not_valid",
"messages": [
{
"token_class": "AccessToken",
"token_type": "access",
"message": "Token is invalid or expired"
}
]
}
403 Forbidden
Только участники проекта могут загрузить сертификат
{
"detail": "Only project participants can upload certificates"
}
404 Not Found
Домен с таким ID не найден
{
"detail": "Domain not found"
}
409 Conflict
Такой сертификат уже существует
{
"detail": "Certificate cannot be uploaded due to a conflict"
}