SSL.com リセラーパートナー 生成できるようになりました ACME 顧客のクレデンシャル SWS API. このハウツーでは、リセラーがこの機能を利用するために作成する必要のあるAPIエンドポイントについて説明し、新しい資格情報のセットを生成するための手順を説明します。
リセラーAPIエンドポイント
ACMEクレデンシャルの顧客への発行を開始する前に、リセラーは、SSL.comが承認と証明書の発行を要求できるXNUMXつのAPIエンドポイントを提供する必要があります。 リセラーはSSL.comにコールバックURLも提供する必要があります(例: https://acme-hook.reseller.com
以下の例では、SSL.comのRAがこれらのリクエストを行うときに使用します。
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
応答本文:
{"成功":true}
上記のように再販業者が注文を承認した場合、SSL.comのRAは、再販業者に購入代金を請求できるかどうかを確認して、注文が処理できるかどうかを判断します。 再販業者が注文を承認したが、証明書をカバーするのに十分な資金がない場合、90日間の無料証明書が顧客に発行されます。
応答に失敗しました(注文が続行されない場合があります)
失敗した応答には、適切な非200
ステータスコード、例:
403 Forbidden
顧客が再販業者との資金が不足している場合。401 Unauthorized
もしkid
再販業者の記録には存在しません。500 Internal Server Error
再販業者側で問題が発生した場合。
失敗した注文の応答本文には、次の値を含める必要があります。 false
for 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.comAPIクレデンシャルが必要です。 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 ":"説明 "} '
- 次のJSONオブジェクトを受け取る必要があります
eab-kid
•eab-hmac
ACMEで証明書を要求するときに使用するために顧客に提供できる値。{"response_type": "ok"、 "eab-kid": "2378c85a2d9b"、 "eab-hmac": "qTs1vE6SMcX3UgK5DtYbc48IYUd7wUr109eCslCdY3N"}
- 新しく生成されたクレデンシャルは、リセラーアカウントの他のAPIおよびACMEクレデンシャルとともに表示されます。