SSL /TLS Emissão e revogação de certificado com ACME

Logotipo da ACMEOs clientes SSL.com agora podem usar o popular protocolo ACME para solicitar e revogar SSL /TLS certificados.

ACME (Automated Certificate Management Environment) é um protocolo padrão para validação de domínio automatizado e instalação de certificados X.509, documentado em RFC 8555 da IETF. Como um padrão bem documentado com muitos aplicativos de código aberto implementações de clientes, ACME oferece uma maneira fácil de provisionar sites ou Dispositivos IoT como modems e roteadores com certificados digitais de confiança pública ou privada e manter esses certificados atualizados ao longo do tempo.

ACME não é apenas para sites! Com uma CA de emissão habilitada para ACME de SSL.com, os fornecedores de IoT podem gerenciar e automatizar facilmente a validação, instalação, renovação e revogação de SSL /TLS certificados em dispositivos compatíveis com ACME.

Saiba mais sobre ACME para IoT

Este guia mostrará como:

  • Localize e recupere as credenciais de que você precisará para solicitar certificados com ACME.
  • Use o Certbot para solicitar SSL / manualmenteTLS certificados através do HTTP-01 e DNS-01 métodos de desafio.
  • Revogar certificados com Certbot.
Nota:
Você pode usar muitos outros clientes ACME, incluindo Gerenciador de certificados do Kubernetes, com o serviço ACME de SSL.com.
acme4j  o cliente agora pode usar os serviços SSL.com ACME neste repositório: https://github.com/SSLcom/acme4j
Consulte a documentação do seu fornecedor de software para obter instruções para outros clientes ACME não Certbot.

Instale o Certbot

Este guia assume que você está trabalhando em um computador que tem certbot instalado. Certbot é uma ferramenta gratuita e de código aberto, desenvolvida pela Electronic Frontier Foundation (EFF), que você pode usar para solicitar ou revogar SSL /TLS certificados de SSL.com por meio do protocolo ACME. Certbot pode ser executado em uma variedade de plataformas, incluindo Linux, macOS e Windows.

  • Se você tem snapd instalado, você pode usar este comando para instalação:
    sudo snap install - certbot clássico
  • If /snap/bin/ não está em seu PATH, você também precisará adicioná-lo ou executar um comando como este:
    sudo ln -s / snap / bin / certbot / usr / bin / certbot

Se você precisar de mais informações sobre como instalar o Certbot em seu sistema, consulte o EFF's documentação.

Recuperar credenciais ACME

Antes de usar ACME para solicitar um certificado, você precisará recuperar seu Chave da conta e Chave HMAC da sua conta SSL.com.

SSL.com's Revendedor e compra por volume parceiros podem gerar credenciais ACME para seus clientes. Leitura este tutorial para instruções completas.
  1. Faça login em sua conta SSL.com. Se você já estiver logado, vá para o Painel aba.
    Painel
  2. Clique credenciais da API, localizado sob desenvolvedores e integração.
    Link de credenciais de API
  3. Você precisará do seu Chave de conta / ACME e Chave HMAC para solicitar certificados. Clique no ícone da área de transferência () ao lado de cada tecla para copiar o valor para a área de transferência.
    Chave de conta / ACME e chave HMAC
  4. Você também pode copiar um comando Certbot pré-preenchido com seu endereço de e-mail, conta / chave ACME e chave HMAC clicando no ícone da área de transferência () próximo a comando cli, abaixo Certbot ACME. Este comando pré-formatado solicitará um certificado por meio do método de desafio HTTP-01.Copiar o comando certbot

Solicitar SSL / manualmenteTLS Certificado

Agora que você recuperou suas credenciais, pode solicitar um certificado por meio do certbot comando. O Certbot oferece suporte a dois métodos de validação de domínio (DV): HTTP-01 e DNS-01.

Método de desafio HTTP-01

HTTP-01 é o método de desafio mais comumente usado com ACME e Certbot. Quando você solicita um certificado dessa maneira, o Certbot gera um token que pode ser usado para criar um arquivo acessível publicamente em seu site. O servidor ACME de SSL.com verificará o arquivo via HTTP e emitirá um certificado assinado se estiver correto.

Requisitos: O método HTTP-01 requer que você tenha acesso ao seu servidor web e que o site esteja disponível na porta 80 via HTTP. Você também vai precisar sudo privilégios no computador.

Para recuperar manualmente um certificado, use o seguinte comando. Substitua os valores em MAIÚSCULAS pelos seus valores reais. (Conforme observado acima, você também pode copiar e colar um comando certbot que faz isso de sua conta do portal):

sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-ecc --config-dir /etc/ssl-com --logs-dir /var/log/ssl-com -- concordo --no-eff-email --email ENDEREÇO ​​DE E-MAIL --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY -d DOMAIN.NAME

Quebrando o comando:

  • sudo certbot executa o certbot comando com privilégios de superusuário.
  • certonly solicita a recuperação de um certificado, mas não o instala.
  • --manual especifica para executar o Certbot interativamente.
  • --server https://acme.ssl.com/sslcom-dv-ecc especifica o servidor ACME de SSL.com.
  • --config-dir /etc/ssl-com (opcional) define o diretório de configuração.
  • --logs-dir /var/log/ssl-com (opcional) define o diretório para logs.
  • --agree-tos (opcional) concorda com o contrato de assinante ACME. Você pode omitir isso se quiser concordar interativamente.
  • --no-eff-email (opcional) indica que você não deseja compartilhar seu endereço de e-mail com a EFF. Se você omitir isso, terá a opção de compartilhar seu endereço de e-mail.
  • --email EMAIL-ADDRESS fornece um endereço de e-mail de registro. Você pode especificar vários endereços, separados por vírgulas.
  • --eab-hmac-key HMAC-KEY especifica sua chave HMAC.
  • --eab-kid ACCOUNT-KEY especifica a chave da sua conta.
  • -d DOMAIN.NAME especifica o nome de domínio que o certificado cobrirá. Observe que você pode usar o -d DOMAIN.NAME opção várias vezes em seu comando para adicionar nomes de domínio ao seu certificado. O Certbot exigirá que você crie um arquivo de desafio para cada nome de domínio solicitado. Por favor, veja a seção sobre tipos de certificado e faturamento abaixo para ver como diferentes combinações de nomes de domínio mapeiam para Tipos de certificado SSL.com e seus preços correspondentes.
Nota: O Certbot 2.0.0 ou mais recente é padronizado para gerar ECDSA para novos certificados. O comando acima irá gerar um par de chaves e certificado ECDSA. Para usar chaves RSA em vez disso:

  • alterar o --server valor no comando para https://acme.ssl.com/sslcom-dv-rsa
  • Adicionar --key-type rsa ao comando.
Quando você executa o acima certbot comando, as informações da conta ACME serão armazenadas no seu computador no diretório de configuração (/etc/ssl-com no comando mostrado acima. Em execuções futuras do certbot, você pode omitir o --eab-hmac-key e --eab-kid opções porque certbot irá ignorá-los em favor das informações de conta armazenadas localmente.

Se você precisar associar seus pedidos de certificado ACME para o computador a uma conta SSL.com diferente, você deve remover essas informações de conta de seu computador com o comando sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (ou, se você omitiu o opcional --config-dir opção, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Ao executar o comando acima, você receberá instruções para criar um arquivo de validação:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Crie um arquivo contendo apenas estes dados: cr1rsRTImVz_s7HHk7biTQ. 9mOlJPgZ8D97HojOHnhD6hYeZZOPDUDNMxchFUNJQvI E disponibilize-o em seu servidor web neste URL: http://DOMAIN.NAME/.well-known/acme-challenge/cr1rsRTImVz_s7HHk7biTQ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Pressione Enter para continuar

Crie o arquivo e salve-o em um local em seu servidor da web onde possa ser acessado via HTTP pela porta 80 no URL mostrado e pressione Enter.

Nota: O desafio HTTP-01 pode exigir um nome de arquivo começando com um traço (-) personagem. Neste caso, você pode precisar especificar o diretório ao criar seu arquivo para evitar que o shell interprete o traço (por exemplo vim ./-r1rsRTImVz_s7HHk7biTQ).

Se todas as suas informações estiverem corretas, você deverá receber uma mensagem de confirmação mostrando os locais de sua cadeia de certificação e chave privada:

NOTAS IMPORTANTES: - Parabéns! Seu certificado e cadeia foram salvos em: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Seu arquivo de chave foi salvo em: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Seu cert irá expirar em 2021-10-05. Para obter uma versão nova ou ajustada deste certificado no futuro, basta executar o certbot novamente. Para renovar de forma não interativa * todos * os seus certificados, execute "renovbot certbot"

Agora você pode configurar seu servidor web para acessar o novo certificado e chave privada.

Método de desafio DNS-01

A DNS-01 O método de desafio é mais complicado de usar do que HTTP-01, mas pode ser mais conveniente para uso em vários servidores da web. Nesse método, o Certbot fornecerá um token que você usará para criar um registro TXT do DNS com o nome de domínio que o certificado protegerá.

Requisitos: O método DNS-01 requer que você tenha a capacidade de criar registros DNS para o nome de domínio do seu site.

O seguinte comando solicitará um certificado para DOMAIN.NAME por meio do método de desafio DNS-01:

sudo certbot certonly --manual --server https://acme.ssl.com/sslcom-dv-rsa --agree-tos --no-eff-email --email EMAIL-ADDRESS --eab-hmac-key HMAC-KEY --eab-kid ACCOUNT-KEY --preferred-challenges dns -d DOMAIN.NAME

Nota: Você pode usar o -d DOMAIN.NAME opção várias vezes em seu comando para adicionar nomes de domínio ao seu certificado. O Certbot exigirá que você crie um registro TXT DNS separado para cada nome de domínio solicitado. Você não precisa esperar a propagação de cada registro TXT antes de pressionar Enter até chegar ao desafio final. Por favor, veja a seção sobre tipos de certificado e faturamento abaixo para ver como diferentes combinações de nomes de domínio mapeiam para Tipos de certificado SSL.com e seus preços correspondentes.
Quando você executa o acima certbot comando, as informações da conta ACME serão armazenadas no seu computador no diretório de configuração (/etc/ssl-com no comando mostrado acima. Em execuções futuras do certbot, você pode omitir o --eab-hmac-key e --eab-kid opções porque certbot irá ignorá-los em favor das informações de conta armazenadas localmente.

Se você precisar associar seus pedidos de certificado ACME para o computador a uma conta SSL.com diferente, você deve remover essas informações de conta de seu computador com o comando sudo rm -r /etc/ssl-com/accounts/acme.ssl.com (ou, se você omitiu o opcional --config-dir opção, sudo rm -r /etc/letsencrypt/accounts/acme.ssl.com).

Este comando é igual ao da seção HTTP-01, mas adiciona o --preferred-challenges dns opção. Ao executar o comando, você receberá instruções para criar um registro DNS:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Please deploy a DNS TXT record under the name _acme-challenge.DOMAIN.NAME with the following value: -87YKoj3sQZB4rVCMZTiifl9QJKYm2eYYymAkpE0zBo Before continuing, verify the record is deployed. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Press Enter to Continue

Crie o registro TXT do DNS e aguarde sua propagação. (whatsmydns.net é uma ferramenta conveniente para verificar a propagação de DNS). Observe que o caractere de sublinhado (_) no início do nome do registro é requeridos. Quando o registro for propagado em todo o mundo, pressione Enter.

Se você estiver solicitando um certificado curinga (por exemplo *.example.com) você precisará solicitar o nome de domínio básico separadamente se desejar protegê-lo também (por exemplo -d *.example.com -d example.com) Nesse caso, você precisará criar dois Registros TXT com o mesmo nome (_acme-challenge.example.com).

Se todas as suas informações estiverem corretas, você deverá receber uma mensagem de confirmação mostrando os locais de sua cadeia de certificação e chave privada:

IMPORTANT NOTES: - Congratulations! Your certificate and chain have been saved at: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem Your key file has been saved at: /etc/ssl-com/live/DOMAIN.NAME/privkey.pem Your cert will expire on 2021-10-05. To obtain a new or tweaked version of this certificate in the future, simply run certbot again. To non-interactively renew *all* of your certificates, run "certbot renew"

Agora você pode configurar seu servidor web para acessar o novo certificado e chave privada.

Renovação de certificado (manual)

Para certificados emitidos manualmente (conforme descrito neste guia), a renovação do certificado é realizada simplesmente repetindo o comando usado para solicitar o certificado. Certbot fornece um renew subcomando, mas produzirá um erro ao tentar usá-lo com certificados solicitados com o --manual opção:

sudo certbot renewal --force-renewal Salvando o log de depuração em /var/log/ssl-com/letsencrypt.log - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Processando /etc/ssl-com/renewal/DOMAIN.NAME - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Não foi possível escolher o plugin apropriado: O plugin manual não está funcionando; pode haver problemas com a configuração existente. O erro foi: PluginError ('Um script de autenticação deve ser fornecido com --manual-auth-hook ao usar o plug-in manual de forma não interativa.',) Tentativa de renovar o certificado (DOMAIN.NAME) de / etc / ssl-com / a renovação / DOMAIN.NAME.conf produziu um erro inesperado: O plugin manual não está funcionando; pode haver problemas com a configuração existente. O erro foi: PluginError ('Um script de autenticação deve ser fornecido com --manual-auth-hook ao usar o plug-in manual de forma não interativa.',). Pulando. Todas as tentativas de renovação falharam. Os certificados a seguir não puderam ser renovados: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (falha) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Todas as tentativas de renovação falharam. Os certificados a seguir não puderam ser renovados: /etc/ssl-com/live/DOMAIN.NAME/fullchain.pem (falha) - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - 1 nova falha (s), 0 falha de análise

Revogação de certificado

Revogar um certificado com certbot revoke. Substitua o caminho do certificado em MAIÚSCULAS por seus valores reais (por exemplo, /etc/ssl-com/live/example.com/cert.pem) Se você não especificou um costume --config-dir e --logs-dir ao solicitar o certificado original, omita essas opções.

sudo certbot revoke --server https://acme.ssl.com/sslcom-dv-rsa --cert-path /PATH/TO/cert.pem --config-dir / etc / ssl-com --logs-dir / var / log / ssl-com

Você será questionado se também deseja excluir o certificado revogado:

- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Gostaria de excluir o (s) certificado (s) você acabou de revogar, junto com todas as versões anteriores e posteriores do cert? - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - (S) es (recomendado) / (N ) o: Y - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - Excluiu todos os arquivos relativos ao certificado NOME DO DOMÍNIO. - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
Observação: alguns usuários podem receber esse erro ao tentar revogar um certificado usando SSL.comPonto de extremidade ACME de:Unable to register an account with ACME server. Error returned by the ACME server: Something went wrong. We apologize for the inconvenience.

Tente o seguinte para resolver o erro:
a) Especifique o caminho da chave privada do certificado para assinar a solicitação de revogação.
Exemplo: --key-path /PATH/TO/privkey.pem
b) Se você usou um diretório personalizado, especifique o diretório usado quando emitiu o certificado: --config-dir

Tipos de certificado e faturamento

Todos SSL /TLS certificados emitidos via ACME por SSL.com são certificados de um ano. O tipo de certificado SSL.com que você receberá (e será cobrado) depende do número e tipo de nomes de domínio solicitados:

  • SSL básico: Um nome de domínio ou nome de domínio mais www subdomínio (por exemplo example.com e www.example.com).
    • Observe que se você deseja proteger o nome de domínio base e www, você deve incluir ambos em seu comando Certbot (por exemplo -d example.com -d www.example.com).
  • Wildcard SSL: Um nome de domínio curinga ou um nome de domínio curinga mais o nome de domínio básico (por exemplo *.example.com e example.com).
  • SSL Premium: Nome de domínio básico e um a três subdomínios não curinga. (Exceção: conforme observado acima, domínio base mais www subdomínio [e nenhum outro] será cobrado como SSL básico.) Por exemplo:
    • example.com e info.example.com
    • example.comwww.example.com e info.example.com
    • example.comwww.example.com, info.example.com e store.example.com
  • Multi-Domain UCC / SAN SSL: Qualquer outra combinação de nomes de domínio. Por exemplo:
    • Nome de domínio básico e mais de três subdomínios
    • Dois ou mais nomes de domínio curinga e / ou não subdomínio

Participantes em SSL.com's Programa de revendedor e compra por volume serão cobrados de acordo com a taxa de desconto associada ao seu nível de preços.

Para maiores informações

Há muito mais que você pode fazer com o protocolo ACME (com ou sem Certbot). Consulte os seguintes recursos para obter muito mais informações:

Precisa de mais ajuda com sua conta SSL.com?

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.