SSL–сертификаты

В статье приведены API-запросы, позволяющие работать с SSL-сертификатами в системе https://api.ispmanager.ru.

Таблица идентификаторов SSL-сертификатов

Доступные действия:

  1. Заказ SSL-сертификата.
  2. Заказ SSL-сертификата с уже существующим ключом (CSR).
  3. Выпуск существующего сертификата.
  4. Перевыпуск SSL-сертификата.
  5. Удаление SSL-сертификата.
  6. Получение списка стран с цифровыми кодами.
  7. Получение данных для подтверждения SSL-сертификата.
  8. Повторный запрос на проверку DNS.
  9. Повторный запрос на проверку Email.

API-адрес биллинговой системы ispmanager: https://api.ispmanager.ru

Авторизация в системе осуществляется с помощью параметра authinfo, который принимает значение: authinfo=EMAIL:PASSWORD, где:
  • EMAIL — электронная почта пользователя в биллинговой системе https://my.ispmanager.ru;
  • PASSWORD — пароль пользователя.

Для заказа сертификатов для нескольких доменов необходимо в параметрах altname и altname_input передать написанные через пробел дополнительные домены.

Примеры заказа секретного ключа и SSL-сертификата для нескольких доменов. Остальные запросы формируются аналогично приведенным примерам.

При GET-запросах для верной обработки запроса вместо пробела используйте значение “%20”, при POST-запросах пробел сохраняется.

Заказ SSL-сертификата

Заказ SSL-сертификата состоит из двух этапов:

  1. Получение секретного ключа или Получение секретного ключа для нескольких доменов.
  2. Заказ SSL-сертификата или Заказ SSL-сертификата для нескольких доменов.

Получение секретного ключа

Для получения секретного ключа на один домен необходимо отправить запрос вида:

https://api.ispmanager.ru/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.ru/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.ru/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, полученный при получение секретного ключа;
  • org-duns - номер D-U-N-S (Dun & Bradstreet Data Universal Numbering System) (необязательно).

Заказ SSL-сертификата для нескольких доменов

Для заказа SSL-сертификата для нескольких доменов необходимо отправить запрос вида:

https://api.ispmanager.ru/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.ru/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;
  • org-duns - номер D-U-N-S (Dun & Bradstreet Data Universal Numbering System) (необязательно).

Скачивание существующего сертификата

Скачивание SSL-сертификата выполняется с помощью функции certificate.file. Параметр ORDER_ID – идентификатор сертификата.

https://api.ispmanager.ru/billmgr?authinfo=EMAIL:PASSWORD&func=certificate.file&elid=ORDER_ID&type=crt

Перевыпуск сертификата

Перевыпуск SSL-сертификата выполняется с помощью функции certificate.reissue. Параметр elid определяет сертификат, который необходимо перевыпустить.

Для перевыпуска SSL-сертификата нужно отправить запрос вида:

https://api.ispmanager.ru/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.ru/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.ru/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.ru/manager/billmgr?authinfo=USER:PASSWD&out=xml&func=certificate.delete&elid=<код лицензии>&sok=ok

Получение списка стран с цифровыми кодами

Узнать актуальный список стран с соответствующими им идентификаторами возможно с помощью функции certificate.order.csr.

https://api.ispmanager.ru/billmgr?authinfo=EMAIL:PASSWORD&out=bjson&func=certificate.order.csr&period=12&pricelist=PRICELIST

Успешный ответ будет содержать:

  • k – идентификатор страны;
  • v – название страны.

Получение данных для подтверждения SSL-сертификата

Для получения данных отправьте запрос вида, где ORDER_ID – идентификатор сертификата:

https://api.ispmanager.ru/billmgr?func=certificate.edit&elid=ORDER_ID&out=text

Данные для DNS TXT

Значение будет указано в параметре auth_dnstxt_value в ответе на запрос, указанный выше.

Данные для File

Возможны два способа:

  • в полученном ответе на запрос выше найдите название файла в параметре auth_file_name, а содержание файла – в параметре auth_file_value
  • получить файл с соответствующими записями выполнив запрос, где ORDER_ID – идентификатор сертификата:
https://api.ispmanager.ru/billmgr?func=certificate.file&elid=ORDER_ID&type=auth_file

Данные для CNAME

В полученном ответе на запрос выше найдите название в параметре auth_cname_name, а значение – в параметре auth_cname_value.

Повторный запрос на проверку DNS

Для получения данных отправьте запрос вида, где ORDER_ID – идентификатор сертификата:

https://api.ispmanager.ru/billmgr?domains=DOMAIN&func=certificate.dns_verify&sok=ok&elid=ORDER_ID

Повторный запрос на проверку Email

Для получения данных отправьте запрос вида:

https://api.ispmanager.ru/billmgr?func=certificate.domain_validation_email&sok=ok&elid=ORDER_ID&approver_email_1=EMAIL

Где:

  • ORDER_ID – идентификатор сертификата;
  • EMAIL – адрес электронной почты для подтверждения сертификата; данный адрес должен быть одним из адресов:
    • admin@DOMAIN;
    • administrator@DOMAIN;
    • hostmaster@DOMAIN;
    • postmaster@DOMAIN;
    • webmaster@DOMAIN.