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

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

Таблица идентификаторов SSL-сертификатов
НаименованиеДля клиентов РФ (pricelist)Для клиентов других стран (pricelist)
GlobalSign EV SSL5533055352
GlobalSign OrganizationSSL WildCard5532955351
GlobalSign OrganizationSSL5532855350
GlobalSign DomainSSL Wildcard5532755349
GlobalSign DomainSSL5532655348
AlphaSSL Wildcard5532555347
AlphaSSL5532455346
Comodo EV SSL certificate5515355153
Comodo PositiveSSL Wildcard2765027650
Comodo PositiveSSL Multi Domain (включено 3 домена)2764827648
Comodo Positive SSL30333033
Comodo Premium WildCard20282028
Comodo Essential SSL WildCard20272027
Comodo Instant SSL20262026
Comodo Essential SSL20252025
DigiСert Secure Site with EV20232023
DigiСert Secure Site20212021
GeoTrust True BusinessID WildCard20202020
GeoTrust True BusinessID20192019
GeoTrust DV SSL20182018
Thawte SSL Web Server with EV20152015
Thawte SSL Wildcard20142014
Thawte SSL Web Server20122012
GeoTrust True BusinessID with EV10321032
Thawte SSL12310131013
RapidSSL Wildcard10121012
RapidSSL10111011

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

  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 подтверждения дополнительного домена}
Пояснения
approver_email_{индекс домена} — используется для указания почты при перевыпуске сертификата с дополнительными доменами. Индекс основного домена — 1, для дополнительных доменов индекс начинается с 2.При перевыпуске crt_type=oldrequest порядок индекса для approver_email определяется на основании порядка дополнительных доменов в узле altname, полученном в ответе на запрос func=certificate.edit&elid={ID сертификата}.

Для перевыпуска 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 подтверждения дополнительного домена}
Пояснения
approver_email_{индекс домена} — используется для указания почты при перевыпуске сертификата с дополнительными доменами. Индекс основного домена — 1, для дополнительных доменов индекс начинается с 2.При перевыпуске crt_type=manual порядок индекса для approver_email определяется на основании порядка дополнительных доменов в узле altname, полученном в ответе на запрос func=certificate.edit&elid={ID сертификата}.

Для перевыпуска 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 подтверждения дополнительного домена}
Пояснения
approver_email_{индекс домена} — используется для указания почты при перевыпуске сертификата с дополнительными доменами. Индекс основного домена — 1, для дополнительных доменов индекс начинается с 2.При перевыпуске с указанием новых доменов crt_type=altname индекс для approver_email определяется позицией дополнительного домена в параметре altname. Например, если altnames=ex1.com http://ex2.com , то approver_email_2 — почта для подтверждения http://ex1.com , approver_email_3 — почта для подтверждения http://ex2.com ).

Удаление сертификата

Удаление сертификата выполняется с помощью функции 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.