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"}
- Ваши сертификаты
- Let’s Encrypt сертификаты