SSL–сертификаты
В статье приведены API-запросы, позволяющие работать с SSL-сертификатами в системе https://api.ispmanager.com.
Доступные действия:
API-адрес биллинговой системы ispmanager: https://api.ispmanager.com.
Авторизация в системе осуществляется с помощью параметра authinfo, который принимает значение: authinfo=EMAIL:PASSWORD, где:
EMAIL — электронная почта пользователя в биллинговой системе https://api.ispmanager.com;
PASSWORD — пароль пользователя.
Для заказа сертификатов для нескольких доменов необходимо в параметрах altname
и altname_input
передать написанные через пробел дополнительные домены.
Примеры заказа секретного ключа и SSL-сертификата для нескольких доменов. Остальные запросы формируются аналогично приведенным примерам.
При GET-запросах для верной обработки запроса вместо пробела используйте значение “%20”, при POST-запросах пробел сохраняется.
Заказ SSL-сертификата
Заказ SSL-сертификата состоит из двух этапов:
Получение секретного ключа или Получение секретного ключа для нескольких доменов.
Заказ SSL-сертификата или Заказ SSL-сертификата для нескольких доменов.
Получение секретного ключа
Для получения секретного ключа на один домен необходимо отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.order.csr&sok=ok&snext=ok&crt_type=generate&field_country=COUNTRY&period=12&pricelist=PRICELIST&CN=DOMAIN&ST=REGION&L=CITY&O=ORGANIZATION&OU=ORG_UNIT&emailAddress=EMAIL
Заказ выполняется с помощью функции certificate.order.csr, которая имеет параметры:
authinfo – данные доступа к биллингу в формате EMAIL:PASSWORD;
field_country – код страны (182 - Россия);
period – период в месяцах (12 или 24);
pricelist – идентификатор тарифного плана (см. Таблицу SSL-сертификатов );
CN – домен;
ST – регион;
L – город;
O – организация;
OU – подразделение (необязательно);
emailAddress – электронная почта (необязательно).
При успешном ответе в полях model.csr и model.key будут содержаться запрос и ключ, которые необходимо сохранить для дальнейшего использования.
Получение секретного ключа для нескольких доменов
Для получения секретного ключа для нескольких доменов необходимо отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.order.csr&sok=ok&snext=ok&crt_type=generate&field_country=COUNTRY&period=12&pricelist=PRICELIST&CN=DOMAIN&ST=REGION&L=CITY&O=ORGANIZATION&OU=ORG_UNIT&emailAddress=EMAIL&altname_input=example1.com%20example2.com&altname=example1.com%20example2.com
Заказ SSL-сертификата
Для заказа SSL-сертификата нужно отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.order.param&sok=ok&skipbasket=on&crt_type=generate&field_country=COUNTRY&period=12&pricelist=PRICELIST&CN=DOMAIN&ST=REGION&L=CITY&O=ORGANIZATION&OU=ORG_UNIT&emailAddress=EMAIL&adm_fname=NAME&adm_lname=LASTNAME&adm_jtitle=POSITION&adm_email=EMAIL&adm_phone=PHONE&tech_fname=NAME&tech_lname=LASTNAME&tech_jtitle=POSITION&tech_email=EMAIL&tech_phone=PHONE&approver_email_1=EMAIL&csr=CSR&key=KEY
Заказ выполняется с помощью функции certificate.order.param, которая имеет параметры:
authinfo – данные доступа к биллингу в формате EMAIL:PASSWORD;
skipbasket – при передаче значения on добавление в корзину будет пропущено, и оплата сразу спишется с лицевого счета;
field_country – код страны (182 – Россия);
period – период в месяцах (12 или 24);
pricelist – идентификатор тарифного плана (см. Таблицу SSL-сертификатов );
CN – домен;
ST – регион;
L – город;
O – организация;
OU – подразделение (необязательно);
emailAddress – адрес электронной почты (необязательно);
adm_fname – имя административного контакта;
adm_lname – фамилия административного контакта;
adm_jtitle – должность административного контакта;
adm_email – адрес электронной почты административного контакта;
adm_phone – телефон административного контакта;
tech_fname – имя технического контакта;
tech_lname – фамилия технического контакта;
tech_jtitle – должность технического контакта;
tech_email – адрес электронной почты технического контакта;
tech_phone – телефон технического контакта;
approver_email_1 – адрес электронной почты для подтверждения сертификата; данный адрес должен быть одним из адресов, где DOMAIN - это домен, переданный в параметре CN:
admin@DOMAIN;
administrator@DOMAIN;
hostmaster@DOMAIN;
postmaster@DOMAIN;
webmaster@DOMAIN;
csr - ключ csr, полученный при получение секретного ключа;
key - ключ key, полученный при получение секретного ключа.
Заказ SSL-сертификата для нескольких доменов
Для заказа SSL-сертификата для нескольких доменов необходимо отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.order.param&sok=ok&skipbasket=on&crt_type=generate&field_country=COUNTRY&period=12&pricelist=PRICELIST&CN=DOMAIN&ST=REGION&L=CITY&O=ORGANIZATION&OU=ORG_UNIT&emailAddress=EMAIL&adm_fname=NAME&adm_lname=LASTNAME&adm_jtitle=POSITION&adm_email=EMAIL&adm_phone=PHONE&tech_fname=NAME&tech_lname=LASTNAME&tech_jtitle=POSITION&tech_email=EMAIL&tech_phone=PHONE&csr=CSR&key=KEY&altname_input=example1.com%20example2.com&altname=example1.com%20example2.com&approver_email_1=EMAIL&approver_email_2=EMAIL2&approver_email_3=EMAIL3&addon_55364=2
Если домен подтверждается по email, то необходимо передать параметры approver_email_n со значением email для подтверждения, где n – порядок доменов (1 - это основной, а 2, 3 и т.д. - дополнительные).
Следовательно, необходимо дополнительно передать approver_email_2 и approver_email_3. Правила для них такие же, как и для approver_email_1 , но домен должен соответствовать домену из параметра altname. Например, в запросе выше approver_email_2 может быть admin@example1.com, administrator@example1.com и т.д.
Также в параметре addon_{SSL-код} необходимо передать то количество доменов, которые были записаны как дополнительные.
В примере запроса выше – addon_55364=2. Где:
55364 – означает заказ мультидоменного сертификата от GlobalSign DomainSSL;
2 – в сертификате 2 дополнительных домена.
Заказ SSL-сертификата с уже существующим ключом (CSR)
Для заказа SSL-сертификата необходимо отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.order.param&sok=ok&skipbasket=on&crt_type=manual&period=12&pricelist=PRICELIST&adm_fname=NAME&adm_lname=LASTNAME&adm_jtitle=POSITION&adm_email=EMAIL&adm_phone=PHONE&tech_fname=NAME&tech_lname=LASTNAME&tech_jtitle=POSITION&tech_email=EMAIL&tech_phone=PHONE&approver_email_1=EMAIL&csr=CSR
Заказ выполняется с помощью функции certificate.order.param, которая имеет параметры:
authinfo – данные доступа к биллингу в формате EMAIL:PASSWORD;
skipbasket – при передаче значения on добавление в корзину будет пропущено, и оплата сразу спишется с лицевого счета;
period – период в месяцах (12 или 24);
pricelist – идентификатор тарифного плана (см. Таблицу SSL-сертификатов );
adm_fname – имя административного контакта;
adm_lname – фамилия административного контакта;
adm_jtitle – должность административного контакта;
adm_email – адрес электронной административного контакта;
adm_phone – телефон административного контакта;
tech_fname – имя технического контакта;
tech_lname – фамилия технического контакта;
tech_jtitle – должность технического контакта;
tech_email – адрес электронной почты технического контакта;
tech_phone – телефон технического контакта;
approver_email_1 – адрес электронной почты для подтверждения сертификата; данный адрес должен быть одним из адресов, где DOMAIN - это домен, переданный в параметре CN:
admin@DOMAIN;
administrator@DOMAIN;
hostmaster@DOMAIN;
postmaster@DOMAIN;
webmaster@DOMAIN;
csr - ключ csr.
Выпуск существующего сертификата
Выпуск SSL-сертификата выполняется с помощью функции certificate.file. Параметр ORDER_ID – идентификатор сертификата.
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&func=certificate.file&elid=ORDER_ID&type=crt
Перевыпуск сертификата
Перевыпуск SSL-сертификата выполняется с помощью функции certificate.reissue. Параметр elid определяет сертификат, который необходимо перевыпустить.
Для перевыпуска SSL-сертификата нужно отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.reissue.step2&elid={ID сертификата}&crt_type=oldrequest&approver_method=auth_email&sok=ok&approver_email_1={email подтверждения основного домена}&approver_email_{i}={email подтверждения дополнительного домена}
Для перевыпуска SSL-сертификата с указанием нового CSR нужно отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.reissue.step2&elid={ID сертификата}&crt_type=manual&approver_method=auth_email&sok=ok&csr={urlencoded CSR}&approver_email_1={email подтверждения основного домена}&approver_email_{i}={email подтверждения дополнительного домена}
Для перевыпуска SSL-сертификата с указанием новых доменов нужно отправить запрос вида:
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.reissue.step2&elid={ID сертификата}&crt_type=altname&approver_method=auth_email&sok=ok&altname={urlencoded список дополнительных доменов через пробел}&approver_email_1={email подтверждения основного домена}&approver_email_{i}={email подтверждения дополнительного домена}
Удаление сертификата
Удаление сертификата выполняется с помощью функции certificate.delete. Параметр elid определяет сертификат, который необходимо удалить.
Для удаления SSL-сертификата необходимо отправить запрос вида:
https://api.ispmanager.com/manager/billmgr?authinfo=USER:PASSWD&out=xml&func=certificate.delete&elid=<код лицензии>&sok=ok
Получение списка стран с цифровыми кодами
Узнать актуальный список стран с соответствующими им идентификаторами возможно с помощью функции certificate.order.csr.
https://api.ispmanager.com/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.order.csr&period=12&pricelist=PRICELIST
Успешный ответ будет содержать:
k – идентификатор страны;
v – название страны.