SSL.com's Parceiros revendedores agora pode gerar ACME credenciais para seus clientes com o API SWS. Este tutorial descreve os pontos de extremidade de API que um revendedor deve criar para aproveitar as vantagens desse recurso e fornece instruções passo a passo para gerar um novo conjunto de credenciais.
Pontos de extremidade da API do revendedor
Antes de começar a emitir credenciais ACME para clientes, espera-se que os revendedores forneçam dois terminais de API que SSL.com pode solicitar para autorização e emissão de certificado. Os revendedores também devem fornecer a SSL.com um URL de retorno de chamada (por exemplo https://acme-hook.reseller.com
nos exemplos abaixo) que o RA de SSL.com usará ao fazer essas solicitações.
revendedor_autorização
SSL.com fará uma ligação para o revendedor reseller_authorization
endpoint para determinar se um certificado solicitado deve ser emitido (por exemplo, se a conta do cliente tem fundos suficientes). A solicitação incluirá o usuário kid
, o tipo e a duração do certificado que está sendo solicitado e o método de validação usado:
POST https://acme-hook.reseller.com/reseller_authorization {"kid": '2378c85a2d9b', 'product': 'sslcom_dv', 'duration': '365', 'identifiers': {dns: ['example. com ']}}
Resposta bem-sucedida (o pedido pode prosseguir)
Uma resposta bem-sucedida, com um revendedor indicando que um pedido está autorizado e pode prosseguir, deve incluir um código de status de 200 OK
e de um success
valor de true
no corpo de resposta:
{"sucesso": verdadeiro}
Se um revendedor autorizar um pedido conforme mostrado acima, o RA do SSL.com verificará se o revendedor pode ser cobrado pela compra para determinar se o pedido pode ser encaminhado. Se um revendedor autorizar um pedido, mas não tiver fundos suficientes para cobrir o certificado, um certificado gratuito de 90 dias será emitido para os clientes.
Resposta com falha (o pedido pode não prosseguir)
Uma resposta com falha deve incluir um não200
código de status, por exemplo:
403 Forbidden
se um cliente não tiver fundos suficientes com o revendedor.401 Unauthorized
se okid
não está presente nos registros do revendedor.500 Internal Server Error
se algo der errado do revendedor.
O corpo da resposta para um pedido com falha deve incluir um valor de false
for success
, e também pode incluir um error_message
que será mostrado ao usuário:
{"sucesso": "falso", "mensagem_erro": "saldo insuficiente"}
If error_message
estiver vazio, uma mensagem geral dizendo “O pedido não foi autorizado” será apresentada ao usuário.
receber_certificado
A receive_certificate
endpoint é usado para SSL.com para enviar o certificado fullchain emitido para o revendedor junto com outras informações sobre a solicitação:
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"}}
Gerar credenciais ACME
Depois que um revendedor fornece os endpoints de API descritos acima, ele pode seguir as instruções passo a passo abaixo para gerar credenciais ACME para um cliente:
- Primeiro, você precisará de suas credenciais de API SSL.com. Faça login no painel do revendedor SSL.com e clique no credenciais da API link.
- Use os links da área de transferência para copiar o Chave de conta / ACME e Chave Secreta associado com o
account_admin
papel e cole-os em um editor de texto. - Abra uma janela de terminal e digite um comando cURL como o seguinte. Substituir
ACCOUNT-KEY
eSECRET-KEY
com os valores coletados na etapa anterior. SubstituirDESCRIPTION
com algum texto descritivo sobre seu cliente, como o nome da empresa ou ID de usuário. Observe que cadaDESCRIPTION
que você usa deve ser exclusivo. Fazer solicitações repetidas com a mesma descrição retornará as credenciais que foram geradas originalmente para a primeira solicitação com essa descrição.curl --location --request POST 'https://sws.sslpki.com/acme/create_credentials' \ --header 'Tipo de conteúdo: application/json' \ --data-raw '{"account_key": "CHAVE-DA-CONTA", "chave-secreta": "CHAVE-SECRETA", "descrição": "DESCRIÇÃO"}'
- Você deve receber um objeto JSON com
eab-kid
eeab-hmac
valores que você pode fornecer ao seu cliente para usar ao solicitar certificados com ACME.{"response_type": "ok", "eab-kid": "2378c85a2d9b", "eab-hmac": "qTs1vE6SMcX3UgK5DtYbc48IYUd7wUr109eCslCdY3N"}
- As credenciais recém-geradas também aparecerão junto com outras credenciais API e ACME da sua conta de revendedor.