API SWS de SSL.com - Introdução

Gerenciar um grande número de certificados pode ser um incômodo. Incidentes que ocorrem aleatoriamente, como o recente em todo o setor problema de entropia do número de série, pode exigir que os administradores revoguem e reemitem manualmente centenas de certificados de uma vez. Nossos próprios agentes de suporte e administradores também experimentaram isso no passado, um fato que motivou SSL.com a implementar uma solução mais prática: o API SSL.com Web Services (SWS).

A API do SWS pode ser usada para automatizar várias operações relacionadas a certificados, como emitir certificados, re-digitar e reprocessar pedidos, gerenciar o acesso do usuário etc. por meio de qualquer linguagem de programação ou script. Para obter comandos cURL da API pré-gerados para um pedido individual, tente anexar /developer no final dessa página de pedido de certificado (por exemplo, https://www.ssl.com/certificate_orders/co-1234xyz/developer).

Para apresentar alguns dos recursos da API, este tutorial irá guiá-lo através da emissão de um certificado de servidor Web validado por domínio (DV). No processo, abordaremos muitos tópicos úteis, como acessar a API, criar um CSRe preparando seu servidor para validação de controle de domínio. Além do mais, veremos como podemos revogar certificados em massa por meio da API, o que é especialmente útil em casos de incidentes de segurança.

The Sandbox

Qualquer tipo de automação requer testes extensivos antes do lançamento em um sistema de produção, especialmente quando há dinheiro envolvido. Por este motivo, SSL.com implementou e mantém o Sandbox. O Sandbox é um clone de desenvolvimento da nossa API de produção. Ele contém toda a funcionalidade do original, mas não está conectado ao banco de dados de produção. Isso significa que você pode criar novos usuários e experimentar livremente, sem medo de estragar alguma coisa e ser cobrado por um erro.

Quando estiver convencido de que sua automação está funcionando corretamente no Sandbox, você poderá mover seu código para produção e ter certeza de que seus scripts não falharão.

NOTA: Este artigo foi desenvolvido para o Sandbox e você pode experimentar qualquer uma das chamadas de API contidas neste documento.

A API de produção pode ser encontrada no seguinte URL:

https://sws.sslpki.com/

Para executar chamadas de API para o Sandbox, você só precisa alterar o nome do domínio, conforme mostrado no seguinte snippet:

https://sws-test.sslpki.com/

Prepare o Meio Ambiente

Antes de começar a brincar com a API, você deve primeiro preparar um ambiente de trabalho. As ferramentas que usaremos ao longo deste tutorial são um terminal Linux e seu confiável editor de texto.

NOTA: Estas instruções foram escritas para a baunilha Ubuntu Linux distribuição, que é um ambiente de desenvolvimento típico que se pode encontrar no mundo real. Dito isto, os scripts fornecidos neste documento também funcionam no Windows via Cygwin.

A primeira coisa que você precisa é de um diretório para todos os arquivos necessários. Para fins de utilidade, vamos nos referir a este diretório como sslcom_api_test/ ou “o diretório de trabalho”. Para criar e entrar no diretório, emita os seguintes comandos no terminal.

$ mkdir ~ / sslcom_api_test $ cd ~ / sslcom_api_test

Em seguida, você deve baixar Pacote de certificados intermediários de SSL.com, que é um arquivo que contém todos os arquivos de certificado necessários para acessar com segurança a API. Dessa forma, todos os dados que você trocar com o servidor da API serão criptografados e você pode ter certeza de que qualquer informação confidencial, como as chaves da API, será protegida contra a interceptação.

Faça o download do arquivo ZIP no link acima e descompacte-o no diretório de trabalho. (Certifique-se de alterar ~/Downloads no diretório em que você salvou o arquivo ZIP, se necessário). O arquivo de certificado que usaremos ao longo deste artigo é SSL_COM_RSA_SSL_SUBCA.crt.

NOTA: No Windows, você precisará localizar o arquivo ZIP, clicar duas vezes nele e extrair os arquivos no diretório de trabalho.
$ unzip ~ / Downloads / SSLcom_DV_CA_Zip.zip -d. Arquivo: ./SSLcom_DV_CA_Zip.zip extração: ./SSL_COM_RSA_SSL_SUBCA.crt extração: ./SSL_COM_ROOT_CERTIFICATION_AUTHORITY_RSA.crt extração: ./CERTUM_TRUSTED_NETWORK_CA.crt

Nós estaremos usando cURL, uma ferramenta de rede típica do Linux, para todas as chamadas de API neste tutorial. cURL pode realizar qualquer operação HTTP e é instalado por padrão na maioria das distribuições Linux. Além do mais, cURL pode ser facilmente instalado no Windows por meio dos executáveis ​​binários fornecidos na página do projeto cURL ou selecionando-o no instalador do Cygwin. No entanto, observe que, como a API é baseada em formatos abertos, você pode usar quase qualquer outra ferramenta de rede ou linguagem de programação para acessá-la.

Além disso, vamos usar OpenSSL para preparar nosso pedido de certificado. OpenSSL é um kit de ferramentas de código aberto que pode realizar quase qualquer operação criptográfica de que você possa precisar. Esta ferramenta também está incluída na lista de pacotes do Cygwin, portanto, você pode selecioná-la para instalação enquanto configura sua instância do Cygwin ou instalá-la manualmente através dos arquivos binários fornecidos na página inicial do projeto.

Por fim, você precisará de duas chaves de API para trabalhar com o Sandbox, que estão associadas à sua conta de usuário. Se você ainda não tem uma conta no Sandbox, registre-se por meio do Sandbox  formulário de inscrição. O processo é idêntico à criação de uma conta normal de cliente SSL.com. Se você já tem uma conta no Sandbox, pode pular esta etapa com segurança.

Acesse a API

Nossa API SWS é baseada em HTTP (os navegadores de protocolo usam) e todos os dados são trocados no Formato JSON.

A maioria das chamadas de API exigirá que você inclua um account_key e de um secret_key parâmetro para fins de autorização. Você sempre pode encontrar as credenciais da sua conta na página do Painel do Sandbox, embora, neste caso, iremos recuperá-las por meio da API.

O comando listado no próximo trecho de código fará o login no portal e recuperará as informações da sua conta, incluindo essas chaves de API. Se você estiver copiando e colando o comando em uma janela de terminal, certifique-se de substituir USERNAME e PASSWORD com as credenciais da sua conta.

$ curl -L --cacert SSL_COM_RSA_SSL_SUBCA.crt --request GET --data-urlencode 'password = PASSWORD' \ 'https: //sws-test.sslpki.com / user / USERNAME '{"login": "JDemo", "email": "jdemo@mailinator.com", "account_number": "abc-1ec6012", "account_key": "4497618e5c98", "secret_key": "FY + s9 / ghUrv7SQ ==", "status": "ativado", "user_url": "https: //sws-test.sslpki.com / users / 1322857 "," available_funds ":" $ 0.00 "}

Apesar sintaxe de cURL é bastante simples, vamos familiarizá-lo com ele examinando a chamada anterior em detalhes.

  • -L instrui o cURL a seguir todos os redirecionamentos HTTP. Você deve incluir esta opção em todas as chamadas para evitar problemas.
  • --cacert SSL_COM_RSA_SSL_SUBCA.crt instrui cURL para validar o certificado do servidor API, com o certificado que baixamos no pacote. Isso permitirá que o cURL criptografe todos os dados enviados ao servidor.
  • --request GET instrui o cURL a executar uma solicitação HTTP GET. Algumas chamadas aceitam apenas solicitações HTTP POST ou PUT. Esta opção é a maneira de lidar com essas solicitações.
  • --data-urlencode prepara a senha da conta para ser transmitida ao servidor. As solicitações GET podem incluir parâmetros no URL, enquanto as solicitações PUT e POST incluem apenas parâmetros no corpo. Como a senha será passada através da URL, devemos codificá-la para escapar de qualquer símbolo (por exemplo, / , ? or # ) que podem confundir o servidor. Esse processo é chamado Codificação de URL.
NOTA: A barra invertida (\) no final da primeira linha força o terminal Linux a ignorar um caractere de nova linha e continuar analisando os caracteres na próxima linha como parte do comando original. Usaremos essa sintaxe para dividir comandos longos em várias linhas, na tentativa de torná-los mais apresentáveis.

O resultado da chamada da API é um objeto JSON que contém informações da conta, incluindo o account_key e secret_key, necessário em chamadas de API subsequentes.

Emitir um certificado do servidor

Depois de preparar o ambiente de trabalho e se apossar das chaves da API, você está pronto para começar a brincar com a API. Como exemplo, solicitaremos a emissão de um Certificado SSL básico para um servidor da web imaginário chamado example.ssl.com. Independentemente de você usar a API ou o portal do cliente, a emissão de um certificado exige que certas etapas sejam seguidas.

Essas etapas incluem a geração de um par de chaves pública e privada, criando um solicitação de assinatura de certificado (CSR), criando um pedido de certificado e executando o validação de controle de domínio.

Gere o CSR

Tem vários métodos para criar um CSR, no entanto, uma vez que já estamos usando o terminal, vamos ver como criar um CSR com OpenSSL. Se você já tem um CSR você pode usar para esse fim, pode pular esta etapa.

A CSR é um arquivo codificado em base64 que contém a maioria das informações que serão incluídas no arquivo de certificado final. Entre seus conteúdos mais importantes estão os chave pública e os votos de nome de domínio do servidor o certificado será emitido para.

Isso significa que precisaremos de um par de chaves públicas antes de emitir um CSR. O comando a seguir criará um novo PEM no diretório de trabalho, chamado example.ssl.com.key, contendo as duas chaves.

$ openssl genrsa -out example.ssl.com.key 2048 Gerando chave privada RSA, módulo longo de 2048 bits ................... +++ ...... .................................................. ...... +++ e é 65537 (0x010001)

Usando o par de chaves, o OpenSSL agora pode gerar um CSR para voce. Para fazer isso, use o comando mostrado no seguinte trecho de código.

$ openssl req -new -key exemplo.ssl.com.key -out exemplo.ssl.com.csr

Você está prestes a ser solicitado a inserir informações que serão incorporadas à sua solicitação de certificado. O que você está prestes a inserir é o que é chamado de Nome distinto ou DN. Existem alguns campos, mas você pode deixar alguns em branco. Para alguns campos, haverá um valor padrão. Se você inserir '.', O campo ficará em branco. ----- Nome do país (código de 2 letras) [AU]: Nome do estado ou província dos EUA (nome completo) [Some-State]: Nome da localidade do Texas (por exemplo, cidade) []: Nome da organização de Houston (por exemplo, empresa) [Internet Widgits Pty Ltd]: Exemplo de nome da unidade organizacional (por exemplo, seção) []: Exemplo de nome comum do departamento (por exemplo, FQDN do servidor ou SEU nome) []: exemplo.ssl.com Endereço de e-mail []: admin@example.ssl. com Insira os seguintes atributos 'extras' a serem enviados com sua solicitação de certificado Uma senha de desafio []: Um nome de empresa opcional []:

OpenSSL irá perguntar sobre suas informações básicas de contato e o Nome comum do certificado. Para certificados SSL, o nome comum é o nome de domínio do servidor (neste caso example.ssl.com) A execução do comando acima criará um arquivo chamado example.ssl.com.csr, no diretório atual que contém o codificado base64 CSR.

$ gato exemplo.ssl.com.csr 

-----BEGIN CERTIFICATE REQUEST-----
MIIC5DCCAcwCAQAwgZ4xCzAJBgNVBAYTAlVTMQ4wDAYDVQQIDAVUZXhhczEQMA4G
A1UEBwwHSG91c3RvbjEQMA4GA1UECgwHRXhhbXBsZTEbMBkGA1UECwwSRXhhbXBs
ZSBEZXBhcnRtZW50MRgwFgYDVQQDDA9leGFtcGxlLnNzbC5jb20xJDAiBgkqhkiG
9w0BCQEWFWFkbWluQGV4YW1wbGUuc3NsLmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD
ggEPADCCAQoCggEBAN7XMG7+zhaGfimdD1F0P3xxUS8dC6knKId3ONEt14Wa5E62
ZIUkyNgQC7gd3Be31jBhcuzJKn8UbTcWnPXd3OCbznbkqXtnljiF3yN9cRnj2f7y
89Hfmje8C07xe6AsoUMSTYzwsoo3zai1bxOUhy+uDU8FzxcSHunepdx/naHXY1Md
waQwzBCp668hFeIOslEjkTCNle3HK1LrgjZCIg0tyHBuZTNuUcQOyXrrDSrtOxx8
dqOD7sYqJie2xiCC9kkpNGYYTEuCuVKidgiC3e/DuLUNbhoUMfSENv64TGA7lRIj
nEBrrEm6FOSgPEGgEsM78cexVaqNCavNXNy49ysCAwEAAaAAMA0GCSqGSIb3DQEB
CwUAA4IBAQAV1Ac9nYH64BrB4OHlOYPkZbK6qCKfipTg7s4Xdcc3TponjTnMJyaQ
NNh0koCUOFJaYPjWIk/YkCeGNv/fbce+sddNbh0jtcVTPw8EFvs53IaUAE99zDvn
577Azj+OXfmaLQXjK15BtnT5hbmRKsrpPxnAdk4NOohM7QKWNEdBrcfTuH1q3WpD
6jSD35FlIFUfMgNi34mxF4vYamGrWgdURIb7DCk2h7B2LQK+vRNx1uPm9FVSeYZc
tHZWTiw2xEExw2Qco6lqXYl8t0Eo07gYl4gAEx9bibvVqYMo3Zss1mRg6+WEB8Xs
G+Hn1TG3XIaIbmvlpRNma/l766KZwLXG
-----END CERTIFICATE REQUEST-----

Crie o pedido de certificado

Tendo obtido o CSR, agora você está pronto para criar um pedido de certificado por meio da API. A primeira chamada de API que examinamos foi uma solicitação GET, enquanto esta é um POST. As solicitações POST devem incluir todos os parâmetros em seus corpos como objetos JSON. Consequentemente, você precisa formatar os parâmetros do pedido do certificado em JSON. Uma configuração JSON para este exemplo pode ser encontrada no seguinte trecho.

{"account_key": "4497618e5c98", "secret_key": "FY + s9 / ghUrv7SQ ==", "product": "106", "period": "365", "server_software": "15", "organization_name" : "Exemplo", "street_address_1": "Exemplo st", "locality_name": "Houston", "state_or_province_name": "Texas", "postal_code": "77777", "country_name": "US", "duns_number": "1234567", "company_number": "Exemplo de número", "Registered_country_name": "US", "unique_value": "1ed1c72baf", "csr":" ----- BEGIN CERTIFICATE REQUEST ----- MIIDIjCCAgwaRlkPnuD ... 0QQ3JKQqJbii3760Rgon8hZmbkiE = ----- END CERTIFICATE REQUEST ----- "}

Já vimos as chaves da API antes. No entanto, para solicitar certificados, também precisamos incluir parâmetros adicionais, como o product ID e validade period. Você pode encontrar uma lista de IDs de produtos no diretório Documentação da API do SWS. Neste exemplo, o pedido é feito para um certificado SSL básico com um período de validade de 1 ano. O próximo grupo de parâmetros armazena informações de contato sobre o registrante (que é você). o unique_value parâmetro (opcional), contém uma string alfanumérica que garante a exclusividade da solicitação. Se você não fornecer um valor único, um valor aleatório será gerado para você. Especificar um valor exclusivo dessa forma é útil se você deseja gerar arquivos DCV ou entradas CNAME fora do portal do usuário SSL.com. finalmente, o csr O parâmetro deve conter um codificado em base64 válido CSR, como aquele em que salvamos example.ssl.com.csr.

Substitua os parâmetros pelos seus próprios valores detalhes de contato e CSRe salve essa configuração JSON em um arquivo chamado example.ssl.com.json.

Nota: Verifique se você removeu todos os caracteres de nova linha do CSR antes de adicioná-lo ao comando. Novas linhas são usadas para instruir o terminal a processar o texto digitado até o caractere de nova linha. Deixar os caracteres pode fazer com que seus comandos cURL falhem.

Com tudo configurado, você está pronto para criar seu pedido. cURL aceita os parâmetros JSON como uma string embutida ou por meio de um nome de arquivo. Devido à primeira opção ser muito prolixa, vamos passar o nome do arquivo.

Por favor, tome nota do --data-binary Chave cURL, que instrui cURL a incluir o conteúdo do arquivo no corpo da solicitação POST.

$ curl -L --cacert SSL_COM_RSA_SSL_SUBCA.crt --request POST --header "Content-Type: application / json" \ --data-binary "@ example.ssl.com.json" 'https: // sws-test .sslpki.com / certificates '{"ref": "co-ac1ecm200", "registrant": {"organization": "Exemplo", "organization_unit": null, "street_address_1": "Example st", "street_address_2": null, "street_address_3": null, "locality": "Houston", "state_or_province": "Texas", "post_office_box": null, "postal_code": "77777", "country": "US", "email": null} , "order_status": "validação necessária", "validações": null, "order_amount": "$ 49.00", "certificate_url": "https://sandbox.ssl.com/team/abc-1ec6012/certificate_orders/co-ac1ecm200 "," recibo_url ":" https://sandbox.ssl.com/team/abc-1ec6012/orders/fe3b-1ecm201 "," smart_seal_url ":" https://sandbox.ssl.com/team/abc-1ec6012 / certificate_orders / co-ac1ecm200 / site_seal "," validation_url ":" https://sandbox.ssl.com/team/abc-1ec6012/certificate_orders/co-ac1ecm200/validation "," external_order_number ": null," certificados ": nulo }

O resultado da operação é outro objeto JSON que contém os detalhes do pedido de certificado recém-criado. Nós podemos ver seu order_status, e seu número de referência no ref parâmetro que é usado para fazer referência a essa ordem em todas as chamadas de API subseqüentes. Além disso, a saída contém vários URLs, como o certificate_url, que aponta para os detalhes do pedido no portal e o validation_url, que aponta para a página de validação do pedido.

Finalmente, certificates conterá todos os certificados associados ao pedido. Como o pedido ainda não foi validado, nenhum certificado foi criado.

Validação de controle de domínio

Conforme indicado no pedido do certificado order_status of validation required, você precisa executar a validação antes de ter um certificado emitido.

CAs publicamente confiáveis ​​(como SSL.com) são necessários para verificar se o comprador do certificado realmente controla o servidor para o qual o certificado será emitido antes de emitir qualquer certificado. Isso pode ser feito por meio de vários métodos, e você pode visualizar todos os métodos de validação disponíveis para um pedido específico por meio da próxima chamada da API.

Substitua o número de referência co-ac1ecm200 no URL com o número de referência do seu pedido, gerado na chamada de API anterior.

$ curl --cacert SSL_COM_RSA_SSL_SUBCA.crt --request GET \ --data-urlencode 'secret_key = FY + s9 / ghUrv7SQ ==' --data-urlencode 'account_key = 4497618e5c98' \ 'https: //sws-test.sslpki.com / certificate / co-ac1ecm200 / validations / methods '{"instruções": "https://www.ssl.com/faqs/ssl-dv-validation-requirements/", "md5_hash": "29BD4C00B65613CCEC04C19C0050D931", " sha2_hash ": "BF340FDFD9C43D45B8310FC4A400E4D4B61CAF8D2002BAAF0945252E35F9D751", "dns_sha2_hash": "BF340FDFD9C43D45B8310FC4A400E4D4.B61CAF8D2002BAAF0945252E35F9D751.167c8a5c49", "dcv_methods": { "example.ssl.com": { "EMAIL_ADDRESSES": [ "admin@ssl.com"," administrador @ SSL .com "," webmaster@ssl.com "," hostmaster@ssl.com "," postmaster@ssl.com "," admin@example.ssl.com "," administrador@example.ssl.com "," webmaster @ example.ssl.com "," hostmaster@example.ssl.com "," postmaster@example.ssl.com "]," http_csr_hash ": {" http ":" http://example.ssl.com/.well-known/pki-validation / 29BD4C00B65613CCEC04C19C0050D931.txt "," allow_https ":" true "," contents ":" BF340FDFD9C43D45B8310FC4A400E4D4B61CAF8D2002BAAF0945252E35F9D751 \ nssl.com "c167c8c5c" nssl.comcsr_hash ": {" cname ":" _29BD4C00B65613CCEC04C19C0050D931.example.ssl.com. CNAME ff8716e0fd.ssl.com. "," Nome ":" _29BD4C00B65613CCEC04C19C0050D931.example.ssl.com "," valor ":" BF340FDFD9C43D45B8310FC4A400E4D4.B61CAF8D2002BA0945252 "," valor ":" BF35FDFD9C751D8716B0FCXNUMXAXNUMXEXNUMXDXNUMX.BXNUMXCAFXNUMXDXNUMXBAXNUMX "ssl. com "}

A saída retornada incluirá todas as informações necessárias para executar a validação do controle de domínio. Por exemplo, se você quiser usar o http_csr_hash  Para validação, você deve criar um arquivo no servidor para o qual este certificado será emitido, denominado .well_known/pki-validation/29BD4C00B65613CCEC04C19C0050D931.txt. O arquivo deve exatamente contém o valor do contents parâmetro.

Depois, você pode visitar o validation_url encontrado na chamada anterior que criou o pedido e continue com a validação, como faria normalmente com um pedido criado por meio do portal do cliente. (Você sempre pode visitar o Validações página e encontre o URL do pedido específico).

Após uma validação de controle de domínio bem-sucedida, o certificado será emitido e você poderá baixá-lo.

Recuperar o certificado

Você pode encontrar seu certificado no portal da web ou recuperá-lo por meio da API. Para nossos propósitos, usaremos a API. Conforme visto na seção anterior, ao criar um novo pedido de certificado, a resposta contém um número de referência. Esse número pode ser usado para recuperar os detalhes do pedido, incluindo os dados reais do certificado.

$ curl --request GET -L --cacert SSL_COM_RSA_SSL_SUBCA.crt \ --data-urlencode 'secret_key = FY + s9 / ghUrv7SQ ==' --data-urlencode 'account_key = 4497618e5c98' \ 'https: // sws-test .sslpki.com / certificate / co-ac1ecm200? response_type = individual & response_encoding = base64 '{"description": "SSL básico de 1 ano", "product": "106", "product_name": "basicssl", "order_status": "emitido" , "order_date": "2019-05-02T10: 08: 48.000-05: 00", "registrant": {"organization": "Example", "organization_unit": null, "street_address_1": "Example st", " street_address_2 ": null," street_address_3 ": null," locality ":" Houston "," state_or_province ":" Texas "," post_office_box ": null," postal_code ":" 77777 "," country ":" US "," email ": null}," Certificados ":" \ nMIIE1TCCA72gAwIBAgIRANsjhF + t ... 4CAw5Egg73IgIHggE1QEZiYQRu + 0wDQY \ n "," Nome ":" example.ssl.com "," domains_qty_purq_chased ":" 1 0 "," subject_alternative_names ": [" example.ssl.com "," www.example.ssl.com "]," validações ": null," data_efetiva ":" 2019-05-03T11: 22: 37.000-05: 00 "," expiration_date ":" 2020-05-02T11: 22: 37.000-05: 00 "," algoritmo ":" SHA256 "," external_order_number ": null," domains ": null," site_seal_code ": null," subscriber_agreement ": null," server_software ": 15," contatos ": [{...}, {...}]}

Como a API deve ser usada programaticamente, você deve analisar a resposta JSON para isolar o certificado e salvá-lo em um arquivo. A análise JSON está além do escopo deste artigo; no entanto, é uma tarefa simples que pode ser facilmente implementada na maioria das linguagens de script ou de programação modernas.

Se você não tiver o número de referência em mãos, pode emitir uma chamada de API para recuperar todos os pedidos de certificado da sua conta. Esta chamada permite filtrar os pedidos, bem como as informações que serão apresentadas.

$ curl --cacert SSL_COM_RSA_SSL_SUBCA.crt --request GET \ --data-urlencode 'secret_key = FY + s9 / ghUrv7SQ ==' --data-urlencode 'account_key = 4497618e5c98' \ 'https: //sws-test.sslpki.com / certificados? fields = domains, ref, order_status '[{"ref": "co-ac1ecm200", "order_status": "issue", "domains": ["example.ssl.com"]}, {" ref ":" co-581eclsap "," order_status ":" validando, aguarde "," domains ": [" example.ssl.com "]}, {" ref ":" co-6f1ecm1of "," order_status ": "aguardando informações de contato do cliente", "domínios": ["test.ssl.com"]}}

A fields O parâmetro URL permite controlar quais detalhes do certificado serão mostrados na saída. Você também pode paginar através do per_page e page parâmetros de solicitação. Para limitar o número de certificados com base nas datas de emissão, você pode usar start e end parâmetros. Por fim, você pode filtrar e pesquisar os pedidos usando critérios como ID do produto, data de validade ou qualquer outro campo contido no certificado. Para mais informações, consulte Documentação da API de SSL.com.

Revogar o certificado

O recurso final que veremos neste guia é a revogação de certificado em massa. Os certificados podem protegê-lo desde que apenas você (ou pessoas em quem confie) possua a chave privada associada a eles. Caso uma chave privada seja comprometida ou qualquer informação sobre o certificado precise ser alterada, o certificado deverá ser imediatamente revogado e uma nova deverá ser emitida.

Nos casos em que se suspeita que a chave privada seja roubada, é imperativo que o software cliente (como navegadores ou sistemas operacionais) pare de aceitá-la como válida o mais rápido possível. Por esse motivo, é altamente recomendável que você implemente um sistema automatizado de revogação, reemissão, recuperação e instalação de certificados em seus servidores.

A API SWS de SSL.com permite que você revogue programaticamente um, mais ou todos os certificados em qualquer um de seus pedidos de certificado. A seguinte chamada de API revogará todos os certificados sob pedido de certificado co-ac1ecm200:

curl --cacert SSL_COM_RSA_SSL_SUBCA.crt --request DELETE --header "Content-Type: application / json" \ --data-binary '{"account_key": "4497618e5c98", "secret_key": "FY + s9 / ghUrv7SQ = = "," motivo ":" roubado "} '\' https: //sws.sslpki.com / certificate / co-ac1ecm200 '{"status": "revogado"}

Este comando cURL emite uma solicitação DELETE HTTP (em vez de um GET ou POST como comandos anteriores) e fornece a configuração JSON embutida. Também é válido criar um arquivo com o conteúdo JSON e passá-lo para cURL via nome do arquivo da mesma maneira que o comando que emitiu a ordem do certificado.

Você pode especificar o motivo que desejar no reason  e, opcionalmente, pode incluir uma lista de números de série do certificado no JSON para revogar apenas os certificados correspondentes a esses seriais. Se nenhum número de série estiver incluído, todos os certificados pertencentes ao pedido de certificado especificado serão revogados.

Para mais informações sobre esta chamada à API, consulte nosso Documentação da API.

Conclusão

Este artigo descreve um processo direto para emitir e revogar um certificado de servidor DV, como um exemplo simplista das operações que você pode executar por meio da API SWS de SSL.com. Nós da SSL.com encorajamos o uso de automação sempre que possível, porque ela elimina o incômodo de realizar manualmente as mesmas tarefas repetitivas e, mais importante, permite tempos de resposta mais rápidos em casos de emergência (consulte o problema de entropia do número de série).

Por favor, sinta-se livre para experimentar com o nosso Sandbox e API SWS, e não hesite em entrar em contato com nossos agentes de suporte se encontrar algum problema.

Obrigado por escolher SSL.com! Se você tiver alguma dúvida, entre em contato conosco por e-mail em Support@SSL.com, ligar 1-877-SSL-SECUREou apenas clique no link de bate-papo no canto inferior direito desta página. Você também pode encontrar respostas para muitas perguntas de suporte comuns em nosso Base de Conhecimento.
Twitter
Facebook
LinkedIn
Reddit
E-mail

Mantenha-se informado e seguro

SSL.com é líder global em segurança cibernética, PKI e certificados digitais. Inscreva-se para receber as últimas notícias do setor, dicas e anúncios de produtos da SSL.com.

Adoraríamos receber seu feedback

Responda à nossa pesquisa e deixe-nos saber sua opinião sobre sua compra recente.