SSL.com Партньори дистрибутори вече може да генерира ACME пълномощия за своите клиенти с SWS API. Това описание описва крайните точки на API, които трябва да създаде дистрибуторът, за да се възползва от тази функция, и предоставя инструкции стъпка по стъпка за генериране на нов набор от идентификационни данни.
Крайни точки на API на Reseller
Преди да започнат да издават ACME идентификационни данни на клиенти, от дистрибуторите се очаква да предоставят две крайни точки на API, които SSL.com може да извика за оторизация и издаване на сертификат. Прекупвачите трябва също да предоставят на SSL.com URL адрес за обратно извикване (напр https://acme-hook.reseller.com
в примерите по-долу), които RA на SSL.com ще използва, когато прави тези заявки.
reseller_authorization
SSL.com ще се обади на дистрибутора reseller_authorization
крайна точка, за да се определи дали исканият сертификат трябва да бъде издаден (например, ако сметката на клиента има достатъчно средства). Искането ще включва потребителското kid
, вида и продължителността на искания сертификат и използвания метод за валидиране:
POST https://acme-hook.reseller.com/reseller_authorization {"kid": '2378c85a2d9b', 'product': 'sslcom_dv', 'duration': '365', 'identifiers': {dns: ['example. com ']}}
Успешен отговор (поръчката може да продължи)
Успешният отговор, при който дистрибуторът показва, че поръчката е разрешена и може да продължи, трябва да включва код на състоянието на 200 OK
и success
стойност на true
в тялото на отговора:
{"успех": вярно}
Ако дистрибуторът упълномощи поръчка, както е показано по-горе, RA на SSL.com ще провери дали на дистрибутора може да се таксува покупката, за да определи дали поръчката може да премине. Ако дистрибуторът разреши поръчка, но няма достатъчно средства за покриване на сертификата, на клиентите ще бъде издаден 90-дневен безплатен сертификат.
Неуспешен отговор (поръчката може да не продължи)
Неуспешният отговор трябва да включва подходящ не-200
код на състоянието, например:
403 Forbidden
ако клиентът няма достатъчно средства при дистрибутора.401 Unauthorized
Акоkid
не присъства в записите на дистрибутора.500 Internal Server Error
ако нещо се обърка от страна на препродавача.
Тялото на отговора за неуспешна поръчка трябва да включва стойност false
за success
и може да включва и error_message
което ще бъде показано на потребителя:
{"success": "false", "error_message": "недостатъчен баланс"}
If error_message
е празно, на потребителя ще бъде представено общо съобщение с надпис „Поръчката не е била разрешена“.
получаване_сертификат
- receive_certificate
крайна точка се използва за SSL.com за изпращане на издадения сертификат за пълна верига на препродавача, заедно с друга информация за заявката:
POST https://acme-hook.reseller.com/receive_certificate {"kid": "2378c85a2d9b", "product": "basicssl", "duration": "365", 'identifiers': {dns: ['example. com ',' www.example.com ']}, "cert": {"body": , "not_before" => "2021-06-07T11: 39: 17.000-05: 00", "not_after" => "2021-09-19T11: 36: 24.000-05: 00"}}
Генерирайте ACME идентификационни данни
След като дистрибуторът предостави описаните по-горе крайни точки на API, той може да следва инструкциите стъпка по стъпка по-долу, за да генерира ACME идентификационни данни за клиент:
- Първо, ще ви трябват вашите идентификационни данни за API на SSL.com. Влезте в таблото за управление на вашия дистрибутор на SSL.com и щракнете върху api пълномощия връзка.
- Използвайте връзките към клипборда, за да копирате Ключ за акаунт / ACME намлява Secret Key свързани с
account_admin
роля и ги поставете в текстов редактор. - Отворете терминален прозорец и въведете команда cURL като следната. Сменете
ACCOUNT-KEY
намляваSECRET-KEY
със стойностите, които сте събрали в предишната стъпка. СменетеDESCRIPTION
с някакъв описателен текст за вашия клиент, като името на компанията или потребителския идентификатор. Имайте предвид, че всекиDESCRIPTION
което използвате трябва да бъде уникално. Извършването на повторни заявки със същото описание ще върне идентификационните данни, които първоначално са били генерирани за първата заявка с това описание.curl --location --request POST 'https: //sws.sslpki.com / acme / create_credentials '\ --header' Content-Type: application / json '\ --data-raw' {"account_key": "ACCOUNT-KEY", "secret_key": "SECRET-KEY", "description ":" ОПИСАНИЕ "} '
- Трябва да получите JSON обект с
eab-kid
намляваeab-hmac
стойности, които можете да предоставите на вашия клиент при заявяване на сертификати с ACME.{"response_type": "ok", "eab-kid": "2378c85a2d9b", "eab-hmac": "qTs1vE6SMcX3UgK5DtYbc48IYUd7wUr109eCslCdY3N"}
- Новосъздадените идентификационни данни също ще се появят заедно с другите идентификационни данни за API и ACME на вашия дистрибутор.