SSL–сертификаты
В статье приведены API-запросы, позволяющие работать с SSL-сертификатами в системе https://api.ispmanager.ru.
Доступные действия:
- Заказ SSL-сертификата.
- Заказ SSL-сертификата с уже существующим ключом (CSR).
- Выпуск существующего сертификата.
- Перевыпуск SSL-сертификата.
- Удаление SSL-сертификата.
- Получение списка стран с цифровыми кодами.
- Получение данных для подтверждения SSL-сертификата.
- Повторный запрос на проверку DNS.
- Повторный запрос на проверку Email.
API-адрес биллинговой системы ispmanager: https://api.ispmanager.ru
- EMAIL — электронная почта пользователя в биллинговой системе https://my.ispmanager.ru;
- PASSWORD — пароль пользователя.
Для заказа сертификатов для нескольких доменов необходимо в параметрах altname
и altname_input
передать написанные через пробел дополнительные домены.
Примеры заказа секретного ключа и SSL-сертификата для нескольких доменов. Остальные запросы формируются аналогично приведенным примерам.
Заказ SSL-сертификата
Заказ SSL-сертификата состоит из двух этапов:
- Получение секретного ключа или Получение секретного ключа для нескольких доменов.
- Заказ 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-код} необходимо передать то количество доменов, которые были записаны как дополнительные.
- 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.