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:
border=1 class="docutils">Код ответа | Сообщение |
---|---|
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"}