В этом разделе описаны методы API для создания, удаления и изменения ваших SSL-сертификатов.
Получить список всех сертификатов
URL: https://apicdn.rcloud.ru/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": "*.rcloud.ru", - string "seq": 1, - int (uid) "start_timestamp": 1655269983, - timestamp "alt": "*.rcloud.ru, rcloud.ru", - 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://apicdn.rcloud.ru/app/ssl/v1/account/zpylkbwv/certificate/
Пример успешного ответа
{"status": 0, "message": "", "data": [{"comment": "july_23", "end_timestamp": 1689570782, "cn": "*.rcloud.ru", "seq": 1, "start_timestamp": 1655269983, "alt": "*.rcloud.ru, rcloud.ru", "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://apicdn.rcloud.ru/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 | Сервис недоступен |
Возможные коды ответа 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": "*.rcloud.ru", - string "seq": 1, - int (uid) "start_timestamp": 1655269983, - timestamp "alt": "*.rcloud.ru, rcloud.ru", - 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": "*.rcloud.ru", - 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://apicdn.rcloud.ru/app/ssl/v1/account/zpylkbwv/certificate/1/
Пример успешного ответа
{"status": 0, "message": "", "data": [{"comment": "july_23", "end_timestamp": 1689570782, "cn": "*.rcloud.ru", "seq": 1, "start_timestamp": 1655269983, "alt": "*.rcloud.ru, rcloud.ru", "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://apicdn.rcloud.ru/app/ssl/v1/account/zpylkbwv/certificate/1/?details
Пример успешного ответа
{"status": 0, "message": "", "data": [{"comment": "july_23", "end_timestamp": 1689570782, "cn": "*.rcloud.ru", "seq": 1, "start_timestamp": 1655269983, "alt": "*.rcloud.ru, rcloud.ru", "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": "*.rcloud.ru", "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", "serial": "04:00:00:00:00:01:21:58:53:08:A2", "end_timestamp": 1868511600}]}]}
Добавить сертификат
URL: https://apicdn.rcloud.ru/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 | One of certificates is not signed by previous certificate in chain |
477 | 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-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQtDgBy3kRiv2\n-----END PRIVATE KEY-----"}' \ -H "CDN-AUTH-TOKEN: $TOKEN" \ 'https://apicdn.rcloud.ru/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://apicdn.rcloud.ru/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-----\nMIIEvgIBADANBgkqhkiG9w0BAQEFAASCBKgwggSkAgEAAoIBAQDQtDgBy3kRiv2\n-----END PRIVATE KEY-----", \ "comment": "new comment"}' \ -H "CDN-AUTH-TOKEN: $TOKEN" \ 'https://apicdn.rcloud.ru/app/ssl/v1/account/zpylkbwv/certificate/1'
Пример успешного ответа
{ "status": 0, "message": "cert updated", "data": { "seq": 2 } }
Пример неуспешного ответа
{"status": 471, "message": "Invalid certificate"}
Удалить сертификат
URL: https://apicdn.rcloud.ru/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 deleted |
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://apicdn.rcloud.ru/app/ssl/v1/account/zpylkbwv/certificate/1'
Пример успешного ответа
{ "status": 0, "message": "cert deleted", "data": { "seq": 2 } }
Пример неуспешного ответа
{"status": 454, "message": "Record not found in database"}