SSL.com's Partner rivenditori ora può generare ACME credenziali per i propri clienti con il API SWS. Questa procedura descrive gli endpoint API che un rivenditore deve creare per sfruttare questa funzionalità e fornisce istruzioni dettagliate per la generazione di un nuovo set di credenziali.
Endpoint API rivenditore Re
Prima di iniziare a rilasciare le credenziali ACME ai clienti, i rivenditori sono tenuti a fornire due endpoint API che SSL.com può richiedere per l'autorizzazione e l'emissione del certificato. I rivenditori devono anche fornire a SSL.com un URL di richiamata (ad es https://acme-hook.reseller.com
negli esempi seguenti) che la RA di SSL.com utilizzerà per effettuare queste richieste.
autorizzazione_rivenditore
SSL.com chiamerà il rivenditore reseller_authorization
endpoint per determinare se deve essere emesso un certificato richiesto (ad esempio, se il conto del cliente dispone di fondi sufficienti). La richiesta includerà l'utente kid
, il tipo e la durata del certificato richiesto e il metodo di convalida utilizzato:
POST https://acme-hook.reseller.com/reseller_authorization { "kid": '2378c85a2d9b', 'product': 'sslcom_dv', 'duration': '365', 'identifiers': { dns: ['example. com'] } }
Risposta riuscita (l'ordine può procedere)
Una risposta positiva, con un rivenditore che indica che un ordine è autorizzato e può procedere, deve includere un codice di stato di 200 OK
e success
valore di true
nel corpo di risposta:
{ "successo": vero }
Se un rivenditore autorizza un ordine come mostrato sopra, la RA di SSL.com verificherà se al rivenditore può essere addebitato l'acquisto per determinare se l'ordine può essere eseguito. Se un rivenditore autorizza un ordine ma non dispone di fondi sufficienti per coprire il certificato, ai clienti verrà emesso un certificato gratuito di 90 giorni.
Risposta non riuscita (l'ordine potrebbe non procedere)
Una risposta fallita dovrebbe includere un'appropriata risposta non200
codice di stato, ad esempio:
403 Forbidden
se un cliente ha fondi insufficienti con il rivenditore.401 Unauthorized
se l'kid
non è presente nei registri del rivenditore.500 Internal Server Error
se qualcosa è andato storto dal lato del rivenditore.
Il corpo della risposta per un ordine non riuscito dovrebbe includere un valore di false
per success
, e può anche includere an error_message
che verrà mostrato all'utente:
{ "successo": "falso", "messaggio_errore": "saldo insufficiente" }
If error_message
è vuoto, verrà presentato all'utente un messaggio generico con la scritta "L'ordine non è stato autorizzato".
ricevere_certificato
Il receive_certificate
endpoint viene utilizzato per SSL.com per inviare il certificato fullchain emesso al rivenditore insieme ad altre informazioni sulla richiesta:
POST https://acme-hook.reseller.com/receive_certificate { "kid": "2378c85a2d9b", "product": "basicssl", "duration": "365", 'identifiers': { dns: ['example. com', 'www.example.com'] }, "cert": { "body": , "non_prima"=>"2021-06-07T11:39:17.000-05:00", "non_dopo"=>"2021-09-19T11:36:24.000-05:00" } }
Genera credenziali ACME
Una volta che un rivenditore ha fornito gli endpoint API descritti sopra, può seguire le istruzioni dettagliate di seguito per generare le credenziali ACME per un cliente:
- Innanzitutto, avrai bisogno delle tue credenziali API SSL.com. Accedi alla dashboard del tuo rivenditore SSL.com e fai clic su credenziali API collegamento.
- Usa i link negli appunti per copiare il Account / chiave ACME e Secret key associato al
account_admin
ruolo e incollarli in un editor di testo. - Apri una finestra di terminale e inserisci un comando cURL come il seguente. Sostituire
ACCOUNT-KEY
eSECRET-KEY
con i valori raccolti nel passaggio precedente. SostituireDESCRIPTION
con del testo descrittivo sul cliente come il nome della società o l'ID utente. Nota che ciascunoDESCRIPTION
che usi dovrebbe essere unico. Effettuare richieste ripetute con la stessa descrizione restituirà le credenziali originariamente generate per la prima richiesta con quella descrizione.curl --location --request POST 'https://sws.sslpki.com/acme/create_credentials' \ --header 'Content-Type: application/json' \ --data-raw '{"account_key": "CHIAVE-ACCOUNT", "secret_key": "CHIAVE-SEGRETA", "description": "DESCRIZIONE"}'
- Dovresti ricevere un oggetto JSON con
eab-kid
eeab-hmac
valori che puoi fornire al tuo cliente da utilizzare quando richiedi certificati con ACME.{ "response_type": "ok", "eab-kid": "2378c85a2d9b", "eab-hmac": "qTs1vE6SMcX3UgK5DtYbc48IYUd7wUr109eCslCdY3N" }
- Le credenziali appena generate appariranno anche insieme alle altre credenziali API e ACME del tuo account rivenditore.