SSL.com Partenaires revendeurs peut maintenant générer ACME informations d'identification pour leurs clients avec le API SWS. Ce mode d'emploi décrit les points de terminaison d'API qu'un revendeur doit créer pour tirer parti de cette fonctionnalité et fournit des instructions étape par étape pour générer un nouvel ensemble d'informations d'identification.
Points de terminaison de l'API revendeur
Avant de commencer à émettre des informations d'identification ACME aux clients, les revendeurs doivent fournir deux points de terminaison d'API que SSL.com peut appeler pour l'autorisation et l'émission de certificats. Les revendeurs doivent également fournir à SSL.com une URL de rappel (par ex. https://acme-hook.reseller.com
dans les exemples ci-dessous) que la RA de SSL.com utilisera lors de ces demandes.
autorisation_revendeur
SSL.com appellera le revendeur reseller_authorization
point de terminaison pour déterminer si un certificat demandé doit être émis (par exemple, si le compte du client dispose de fonds suffisants). La demande comprendra l'utilisateur kid
, le type et la durée du certificat demandé et la méthode de validation utilisée :
POST https://acme-hook.reseller.com/reseller_authorization { "kid": '2378c85a2d9b', 'product': 'sslcom_dv', 'duration': '365', 'identifiers': { dns: ['example. com'] } }
Réponse réussie (la commande peut continuer)
Une réponse positive, avec un revendeur indiquant qu'une commande est autorisée et peut continuer, doit inclure un code de statut de 200 OK
et success
valeur de true
dans le corps de la réponse :
{ "succès": vrai }
Si un revendeur autorise une commande comme indiqué ci-dessus, le RA de SSL.com vérifiera alors si le revendeur peut être facturé pour l'achat afin de déterminer si la commande peut passer. Si un revendeur autorise une commande mais ne dispose pas de fonds suffisants pour couvrir le certificat, un certificat gratuit de 90 jours sera délivré aux clients.
Échec de la réponse (la commande peut ne pas être traitée)
Un échec de réponse doit inclure une non-réponse appropriée200
code d'état, par exemple :
403 Forbidden
si un client a des fonds insuffisants chez le revendeur.401 Unauthorized
si lekid
n'est pas présent dans les registres du revendeur.500 Internal Server Error
en cas de problème du côté du revendeur.
Le corps de la réponse pour une commande ayant échoué doit inclure une valeur de false
pour le success
, et peut également inclure un error_message
qui sera montré à l'utilisateur :
{ "success": "false", "error_message": "solde insuffisant" }
If error_message
est vide, un message général indiquant « La commande n'a pas été autorisée » sera présenté à l'utilisateur.
recevoir_certificat
Les receive_certificate
Le point de terminaison est utilisé par SSL.com pour envoyer le certificat fullchain émis au revendeur avec d'autres informations sur la demande :
POST https://acme-hook.reseller.com/receive_certificate { "kid": "2378c85a2d9b", "product": "basicssl", "duration": "365", 'identifiers': { dns: ['example. com', 'www.exemple.com'] }, "cert": { "corps": , "not_before"=>"2021-06-07T11:39:17.000-05:00", "not_after"=>"2021-09-19T11:36:24.000-05:00" } }
Générer les informations d'identification ACME
Une fois qu'un revendeur a fourni les points de terminaison d'API décrits ci-dessus, il peut suivre les instructions détaillées ci-dessous pour générer des informations d'identification ACME pour un client :
- Tout d'abord, vous aurez besoin de vos identifiants API SSL.com. Connectez-vous à votre tableau de bord revendeur SSL.com et cliquez sur le bouton identifiants api lien.
- Utilisez les liens du presse-papiers pour copier le Compte / Clé ACME , Clef secrète associé au
account_admin
rôle et collez-les dans un éditeur de texte. - Ouvrez une fenêtre de terminal et entrez une commande cURL comme suit. Remplacer
ACCOUNT-KEY
,SECRET-KEY
avec les valeurs que vous avez collectées à l'étape précédente. RemplacerDESCRIPTION
avec un texte descriptif sur votre client, tel que le nom de son entreprise ou son ID utilisateur. Notez que chaqueDESCRIPTION
que vous utilisez doit être unique. Faire des demandes répétées avec la même description renverra les informations d'identification qui ont été générées à l'origine pour la première demande avec cette 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 ": "LA DESCRIPTION"}'
- Vous devriez recevoir un objet JSON avec
eab-kid
,eab-hmac
valeurs que vous pouvez fournir à votre client à utiliser lors de la demande de certificats avec ACME.{ "response_type": "ok", "eab-kid": "2378c85a2d9b", "eab-hmac": "qTs1vE6SMcX3UgK5DtYbc48IYUd7wUr109eCslCdY3N" }
- Les informations d'identification nouvellement générées apparaîtront également avec les autres informations d'identification API et ACME de votre compte revendeur.