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

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

Наименование

Для клиентов РФ (pricelist)

Для клиентов других стран (pricelist)

GlobalSign EV SSL

55330

55352

GlobalSign OrganizationSSL WildCard

55329

55351

GlobalSign OrganizationSSL

55328

55350

GlobalSign DomainSSL Wildcard

55327

55349

GlobalSign DomainSSL

55326

55348

AlphaSSL Wildcard

55325

55347

AlphaSSL

55324

55346

Comodo EV SSL certificate

55153

55153

Comodo PositiveSSL Wildcard

27650

27650

Comodo PositiveSSL Multi Domain (включено 3 домена)

27648

27648

Comodo Positive SSL

3033

3033

Comodo Premium WildCard

2028

2028

Comodo Essential SSL WildCard

2027

2027

Comodo Instant SSL

2026

2026

Comodo Essential SSL

2025

2025

DigiСert Secure Site with EV

2023

2023

DigiСert Secure Site

2021

2021

GeoTrust True BusinessID WildCard

2020

2020

GeoTrust True BusinessID

2019

2019

GeoTrust DV SSL

2018

2018

Thawte SSL Web Server with EV

2015

2015

Thawte SSL Wildcard

2014

2014

Thawte SSL Web Server

2012

2012

GeoTrust True BusinessID with EV

1032

1032

Thawte SSL123

1013

1013

RapidSSL Wildcard

1012

1012

RapidSSL

1011

1011

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

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

  2. Заказ SSL-сертификата с уже существующим ключом (CSR).

  3. Выпуск существующего сертификата.

  4. Перевыпуск SSL-сертификата.

  5. Удаление SSL-сертификата.

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

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-сертификата состоит из двух этапов:

  1. Получение секретного ключа или Получение секретного ключа для нескольких доменов.

  2. Заказ 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
NONE

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

Заказ 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
CODE

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

Если домен подтверждается по 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
CODE

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

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

Перевыпуск 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 подтверждения дополнительного домена}
CODE
Пояснения

approver_email_{индекс домена} — используется для указания почты при перевыпуске сертификата с дополнительными доменами. Индекс основного домена — 1, для дополнительных доменов индекс начинается с 2.

При перевыпуске crt_type=oldrequest порядок индекса для approver_email определяется на основании порядка дополнительных доменов в узле altname, полученном в ответе на запрос func=certificate.edit&elid={ID сертификата}.

Для перевыпуска 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 подтверждения дополнительного домена}
CODE
Пояснения

approver_email_{индекс домена} — используется для указания почты при перевыпуске сертификата с дополнительными доменами. Индекс основного домена — 1, для дополнительных доменов индекс начинается с 2.

При перевыпуске crt_type=manual порядок индекса для approver_email определяется на основании порядка дополнительных доменов в узле altname, полученном в ответе на запрос func=certificate.edit&elid={ID сертификата}.

Для перевыпуска 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 подтверждения дополнительного домена}
CODE
Пояснения

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

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

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

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

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

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

  • v – название страны.