- tocdepth
2
SSL Certificate API
На этой странице
Ваши сертификаты
В этом разделе описаны методы API для создания, удаления и изменения ваших SSL-сертификатов.
Получить список всех сертификатов
URL: https://api.cdn.sber.cloud/app/ssl/v1/account/<your_account_name>/certificate/
Тип запроса: GET
Заголовки: CDN-AUTH-TOKEN
Тип данных ответа: JSON Object
Возможные коды ответа HTTP:
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | status: тип int, message: тип string, data: тип JSON Array | JSON | Информация о сертификатах или ошибка |
503 | None | None | Сервис недоступен |
Возможные коды ответа API в параметре status
:
Код ответа | Сообщение |
---|---|
0 | OK |
454 | Record not found in database |
455 | Not Allowed |
550 | Internal Server Error |
Формат JSON, возвращаемого в элементах параметра data
:
"comment": "july_23", - string
"end_timestamp": 1689570782, - timestamp
"cn": "*.cdn.sber.cloud", - string
"seq": 1, - int (uid)
"start_timestamp": 1655269983, - timestamp
"alt": "*.cdn.sber.cloud, cdn.sber.cloud", - string
"issuer": "Go Daddy Secure Certificate Authority - G2", - string
"start_iso8601": "2022-06-15T05:13:03Z", - string
"end_iso8601": "2023-07-17T05:13:02Z" - string
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" https://api.cdn.sber.cloud/app/ssl/v1/account/zpylkbwv/certificate/
Пример успешного ответа
{
"status": 0,
"message": "",
"data": [{"comment": "july_23",
"end_timestamp": 1689570782,
"cn": "*.cdn.sber.cloud",
"seq": 1, "start_timestamp": 1655269983,
"alt": "*.cdn.sber.cloud, cdn.sber.cloud",
"issuer": "Go Daddy Secure Certificate Authority - G2"
"start_iso8601": "2022-06-15T05:13:03Z",
"end_iso8601": "2023-07-17T05:13:02Z"
}
]
}
Пример неуспешного ответа
{"status": 454, "message": "Record not found in database"}
Получить сертификат по ID
URL: https://api.cdn.sber.cloud/app/ssl/v1/account/<your_account_name>/certificate/<certificate_seq>
Тип запроса: GET
Заголовки: CDN-AUTH-TOKEN
Тип данных ответа: JSON Object
Возможные query-параметры:
Имя параметра | Назначение | Обязательный |
---|---|---|
details | Получение дополнительной информации о цепочке сертификатов | Нет |
Возможные коды ответа HTTP:
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | status: тип int, message: тип string, data: тип JSON Array | JSON | Информация о сертификате или ошибка |
503 | None | None | Сервис недоступен |
Возможные коды ответа в параметре status
:
Код ответа | Сообщение |
---|---|
0 | OK |
454 | Record not found in database |
455 | Not Allowed |
550 | Internal Server Error |
Формат JSON, возвращаемого в элементах параметра data
:
"comment": "", - string
"end_timestamp": 1689570782, - timestamp
"cn": "*.cdn.sber.cloud", - string
"seq": 1, - int (uid)
"start_timestamp": 1655269983, - timestamp
"alt": "*.cdn.sber.cloud, cdn.sber.cloud", - string
"issuer": "Go Daddy Secure Certificate Authority - G2", - string
"start_iso8601": "2022-06-15T05:13:03Z", - string
"end_iso8601": "2023-07-17T05:13:02Z", - string
"chain_info": [], - JSON Array of JSON objects *
* только при запросе с query-параметром details
.
Формат JSON, возвращаемого в элементах параметра data.chain_info
:
"end_timestamp": 1689570782, - timestamp
"subject_CN": "*.cdn.sber.cloud", - string
"start_timestamp": 1655269983, - timestamp
"issuer_CN": "GlobalSign GCC R3 DV TLS CA 2020", - string
"start_iso8601": "2022-06-15T05:13:03Z", - string
"end_iso8601": "2023-07-17T05:13:02Z", - string
"fingerprint": "22:C2:D3:6B:6B:EE:AF:D3:1C:61:0A:0A:87:D4:92:F4:83:BE:9B:6A", - string
"serial": "42:D5:2A:6F:9A:D9:E9:D0:49:D7:74:77" - string
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" https://api.cdn.sber.cloud/app/ssl/v1/account/zpylkbwv/certificate/1/
Пример успешного ответа
{
"status": 0,
"message": "",
"data": [{"comment": "",
{"comment": "july_23",
"end_timestamp": 1689570782,
"cn": "*.cdn.sber.cloud",
"seq": 1,
"start_timestamp": 1655269983,
"alt": "*.cdn.sber.cloud, cdn.sber.cloud",
"issuer": "Go Daddy Secure Certificate Authority - G2",
"start_iso8601": "2022-06-15T05:13:03Z",
"end_iso8601": "2023-07-17T05:13:02Z"}]
}
}
Пример неуспешного ответа
{
"status": 454,
"message": "Record not found in database"
}
Пример запроса с дополнительной информацией о цепочке
curl -H "CDN-AUTH-TOKEN: $TOKEN" https://api.cdn.sber.cloud/app/ssl/v1/account/zpylkbwv/certificate/1/?details
Пример успешного ответа
{
"status": 0,
"message": "",
"data": [
{
"comment": "july_23",
"end_timestamp": 1689570782,
"cn": "*.cdn.sber.cloud",
"seq": 1,
"start_timestamp": 1655269983,
"alt": "*.cdn.sber.cloud, cdn.sber.cloud",
"issuer": "GlobalSign GCC R3 DV TLS CA 2020"
"start_iso8601": "2022-06-15T05:13:03Z",
"end_iso8601": "2023-07-17T05:13:02Z",
"chain_info": [
{
"start_timestamp": 1655269983,
"end_iso8601": "2023-07-17T05:13:02Z",
"start_iso8601": "2022-06-15T05:13:03Z",
"subject_CN": "*.cdn.sber.cloud",
"fingerprint": "22:C2:D3:6B:6B:EE:AF:D3:1C:61:0A:0A:87:D4:92:F4:83:BE:9B:6A",
"issuer_CN": "GlobalSign GCC R3 DV TLS CA 2020",
"serial": "42:D5:2A:6F:9A:D9:E9:D0:49:D7:74:77",
"end_timestamp": 1689570782
},
{
"start_timestamp": 1595883600,
"end_iso8601": "2029-03-18T00:00:00Z",
"start_iso8601": "2020-07-28T00:00:00Z",
"subject_CN": "GlobalSign GCC R3 DV TLS CA 2020",
"fingerprint": "1C:61:0A:0A:87:D4:92:F4:83:22:C2:AF:D3:BE:9B:6A:D3:6B:6B:EE",
"issuer_CN": "GlobalSign",
"serial": "77:BD:0E:07:42:D5:D9:E9:D0:49:D7:74:D0:2A:6F:9A",
"end_timestamp": 1868475600
},
{
"start_timestamp": 1237359600,
"end_iso8601": "2029-03-18T10:00:00Z",
"start_iso8601": "2009-03-18T10:00:00Z",
"subject_CN": "GlobalSign",
"fingerprint": "D6:9B:56:11:48:F0:1C:77:C5:45:78:C1:09:26:DF:5B:85:69:76:AD",
"issuer_CN": "GlobalSign",
"end_timestamp": 1868511600
}
]
}
]
}
Добавить сертификат
URL: https://api.cdn.sber.cloud/app/ssl/v1/account/<your_account_name>/certificate/
Тип запроса: POST
Заголовки: CDN-AUTH-TOKEN
Тело запроса: JSON с данными сертификата
Тип данных ответа: JSON Object
Описание параметров тела запроса:
Имя параметра | Тип параметра | Обязательный |
---|---|---|
certificate | Текст | Да |
private_key | Текст | Да |
comment | Текст | Да |
Возможные коды ответа HTTP:
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | status: тип int, message: тип string, data: тип JSON Object | JSON | Сертификат добавлен или ошибка |
503 | None | None | Сервис недоступен |
Возможные коды ответа API в параметре status
:
Код ответа | Сообщение |
---|---|
0 | cert saved |
450 | Invalid request |
455 | Not Allowed |
459 | Certificate already exist, use PATCH to update certificate |
471 | Invalid certificate |
472 | Invalid private key |
473 | Private key does not match certificate |
474 | Certificate is expired |
475 | Root certificate is not found in system trusted certificates |
476 | Certificate has N invalid line(s) |
478 | Cert chain error: Two or more certificates have the same subject |
479 | Cert chain error: Too many certificates have the same issuer |
550 | Internal Server Error |
Формат JSON, возвращаемого в параметре data
:
"seq": 1, - int (uid)
Пример запроса
curl -X POST -d '{"comment": "new comment", \
"certificate": "-----BEGIN CERTIFICATE-----\nMIIMvzCCC6egAwIBAgISBDOHrUbe+jaL2W0x4w3T5YuBMA0GCSqGSIb3DQEBCwUA\n-----END CERTIFICATE-----", \
"private_key": "-----BEGIN PRIVATE KEY-----\j8eAMouA15uA0VHPZeicNWa7SL\n-----END PRIVATE KEY-----"}' \
-H "CDN-AUTH-TOKEN: $TOKEN" \
'https://api.cdn.sber.cloud/app/ssl/v1/account/zpylkbwv/certificate/'
Пример успешного ответа
{
"status": 0,
"message": "cert saved",
"data": {
"seq": 2
}
}
Пример неуспешного ответа
{"status": 459, "message": "Certificate already exist, use PATCH to update certificate"}
Изменить сертификат
URL: https://api.cdn.sber.cloud/app/ssl/v1/account/<your_account_name>/certificate/<certificate_seq>
Тип запроса: PATCH
Заголовки: CDN-AUTH-TOKEN
Тело запроса: JSON с новыми данными сертификата
Тип данных ответа: JSON Object
Описание параметров тела запроса:
Имя параметра | Тип параметра | Обязательный |
---|---|---|
certificate | Текст | Нет |
private_key | Текст | Нет |
comment | Текст | Нет |
Возможные коды ответа HTTP:
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | status: тип int, message: тип string, data: тип JSON Object | JSON | Сертификат изменен или ошибка |
503 | None | None | Сервис недоступен |
Возможные коды ответа API в параметре status
:
Код ответа | Сообщение |
---|---|
0 | cert updated |
450 | Invalid request |
454 | Record not found in database |
455 | Not Allowed |
471 | Invalid certificate |
472 | Invalid private key |
473 | Private key does not match certificate |
474 | Certificate is expired |
475 | Root certificate is not found in system trusted certificates |
476 | One of certificates is not signed by previous certificate in chain |
477 | Certificate has N invalid line(s) |
550 | Internal Server Error |
Формат JSON, возвращаемого в параметре data
:
"seq": 1, - int (uid)
Пример запроса
curl -X PATCH -d '{ \
"certificate": "-----BEGIN CERTIFICATE-----\nMIIMvzCCC6egAwIBAgISBDOHrUbe+jaL2W0x4w3T5YuBMA0GCSqGSIb3DQEBCwUA\n-----END CERTIFICATE-----", \
"private_key": "-----BEGIN PRIVATE KEY-----\j8eAMouA15uA0VHPZeicNWa7SL\n-----END PRIVATE KEY-----", \
"comment": "new comment"}' \
-H "CDN-AUTH-TOKEN: $TOKEN" \
'https://api.cdn.sber.cloud/app/ssl/v1/account/zpylkbwv/certificate/1'
Пример успешного ответа
{
"status": 0,
"message": "cert updated",
"data": {
"seq": 2
}
}
Пример неуспешного ответа
{
"status": 471,
"message": "Invalid certificate"
}
Удалить сертификат
URL: https://api.cdn.sber.cloud/app/ssl/v1/account/<your_account_name>/certificate/<certificate_seq>
Тип запроса: DELETE
Заголовки: CDN-AUTH-TOKEN
Тип данных ответа: JSON Object
Возможные коды ответа HTTP:
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | status: тип int, message: тип string, data: тип JSON Object | JSON | Сертификат удален или ошибка |
503 | None | None | Сервис недоступен |
Возможные коды ответа API в параметре status
:
Код ответа | Сообщение |
---|---|
0 | cert updated |
450 | Invalid request |
454 | Record not found in database |
455 | Not Allowed |
550 | Internal Server Error |
Формат JSON, возвращаемого в параметре data
:
"seq": 1, - int (uid)
Пример запроса
curl -X DELETE \
-H "CDN-AUTH-TOKEN: $TOKEN" \
'https://api.cdn.sber.cloud/app/ssl/v1/account/zpylkbwv/certificate/1'
Пример успешного ответа
{
"status": 0,
"message": "cert updated",
"data": {
"seq": 2
}
}
Пример неуспешного ответа
{
"status": 454,
"message": "Record not found in database"
}
Let’s Encrypt сертификаты
Мы также предоставляем возможность генерировать Let’s Encrypt сертификаты. Подробнее о проекте можно прочитать по ссылке: https://letsencrypt.org.
Получить статус заказа сертификата
Получение статуса о создании сертификата (только с указанием ресурса)
URL: https://api.cdn.sber.cloud/app/ssl/v1/account/<your_account_name>/letsencrypt/<resource_id>/
Тип запроса: GET
Заголовки: CDN-AUTH-TOKEN
Тип данных ответа: JSON Object
Возможные коды ответа HTTP:
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | status: тип int, message: тип string, data: тип JSON Object | JSON | Статус задачи или ошибка |
503 | None | None | Сервис недоступен |
Возможные коды ответа API в параметре status
:
Код ответа | Сообщение |
---|---|
0 | Success |
450 | Invalid Request |
454 | Record not found in database (about resource) |
455 | Not Allowed |
550 | Internal Server Error |
Формат JSON, возвращаемого в параметре data
:
task_status: string
("no"/"accepted"/"processed"/"failed")
Пример запроса
curl -H "CDN-AUTH-TOKEN: $TOKEN" \
https://api.cdn.sber.cloud/app/ssl/v1/account/cpfgdakp/letsencrypt/lajjncnn6d
Пример успешного ответа
{
"status": 0,
"message": "Success",
"data": {
"task_status": "accepted"
}
}
Пример неуспешного ответа
{
"status": 450,
"message": "Invalid Request"
}
Заказать сертификат
Создание Let’s Encrypt сертификата для ресурса, при помощи HTTP-01 вызова.
URL: https://api.cdn.sber.cloud/app/ssl/v1/account/<your_account_name>/letsencrypt/<resource_id>/
Тип запроса: POST
Заголовки: CDN-AUTH-TOKEN
Тип данных ответа: JSON Object
Возможные коды ответа HTTP:
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | status: тип int, message: тип string | JSON | Сертификат заказан или ошибка |
503 | None | None | Сервис недоступен |
Возможные коды ответа API в параметре status
:
Код ответа | Сообщение |
---|---|
0 | Success |
450 | Invalid request |
454 | Record not found in database (about resource) |
455 | Not Allowed |
479 | Main domain already in use |
489 | Task already exist |
550 | Internal Server Error |
Пример запроса
curl -X POST \
-H "CDN-AUTH-TOKEN: $TOKEN" \
https://api.cdn.sber.cloud/app/ssl/v1/account/cpfgdakp/letsencrypt/lajjncnn6d
Пример успешного ответа
{
"status": 0,
"message": "Success"
}
Пример неуспешного ответа
{
"status": 450,
"message": "Invalid Request"
}
Заказать wildcard сертификат
URL: https://api.cdn.sber.cloud/app/ssl/v1/account/<your_account_name>/letsencrypt/
Тип запроса: POST
Заголовки: CDN-AUTH-TOKEN
Тело запроса: JSON со списком доменов
Тип данных ответа: JSON Object
Описание параметров тела запроса:
Имя параметра | Тип параметра | Обязательный |
---|---|---|
domains | Список строк | Да |
Возможные коды ответа HTTP:
Код ответа | Данные ответа | Формат ответа | Описание |
---|---|---|---|
200 | status: тип int, message: тип string | JSON | Сертификат заказан или ошибка |
503 | None | None | Сервис недоступен |
Возможные коды ответа API в параметре status
:
Код ответа | Сообщение |
---|---|
0 | Success |
450 | Invalid request |
454 | Record not found in database (about resource) |
455 | Not Allowed |
479 | Main domain already in use |
480 | DNS settings are incorrect |
489 | Task already exist |
550 | Internal Server Error |
Пример запроса
curl -X POST -d '{"domains": ["*.d.example.com"]}' \
-H "CDN-AUTH-TOKEN: $TOKEN" \
https://api.cdn.sber.cloud/app/ssl/v1/account/cpfgdakp/letsencrypt/
Пример успешного ответа
{
"status": 0,
"message": "Success"
}
Пример неуспешного ответа
{
"status": 480,
"message": "DNS settings are incorrect"
}
для Dev & Test