SSL.com的 经销商合作伙伴 现在可以生成 ACME 为他们的客户提供凭证 软件接口. 此操作方法描述了经销商必须创建的 API 端点才能利用此功能,并提供生成一组新凭据的分步说明。
经销商 API 端点
在开始向客户发放 ACME 凭证之前,经销商需要提供两个 API 端点,SSL.com 可以调用这些端点来进行授权和证书颁发。 经销商还必须向 SSL.com 提供回调 URL(例如 https://acme-hook.reseller.com
在下面的示例中)SSL.com 的 RA 在发出这些请求时将使用。
经销商_授权
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
在响应正文中:
{“成功”:真}
如果经销商授权订单如上所示,SSL.com 的 RA 将检查经销商是否可以为购买付费,以确定订单是否可以通过。 如果经销商授权订单但没有足够的资金来支付证书,则将向客户颁发 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 凭证:
- 首先,您需要 SSL.com API 凭据。 登录您的 SSL.com 经销商仪表板,然后单击 api凭证 链接。
- 使用剪贴板链接复制 帐户/ ACME密钥 和 秘密钥匙 与
account_admin
角色并将它们粘贴到文本编辑器中。 - 打开终端窗口并输入如下所示的 cURL 命令。 代替
ACCOUNT-KEY
和SECRET-KEY
使用您在上一步中收集的值。 代替DESCRIPTION
带有一些关于您的客户的描述性文本,例如他们的公司名称或用户 ID。 请注意,每个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": "DESCRIPTION"}'
- 你应该收到一个 JSON 对象
eab-kid
和eab-hmac
您可以为客户提供在使用 ACME 请求证书时使用的值。{ "response_type": "ok", "eab-kid": "2378c85a2d9b", "eab-hmac": "qTs1vE6SMcX3UgK5DtYbc48IYUd7wUr109eCslCdY3N" }
- 新生成的凭据也将与您的经销商帐户的其他 API 和 ACME 凭据一起显示。