bg-tutorials

Como corrigir os erros do certificado SSL da ACME

Erros do ACME SSL

Quando você está configurando ou renovando certificados SSL usando o protocolo ACME, não é incomum encontrar erros enigmáticos que interrompem o processo. Este guia orienta você sobre os problemas mais comuns relacionados ao ACME, explica o que eles realmente significam e mostra exatamente como corrigi-los. Se você estiver instalando um novo certificado, automatizando renovações ou depurando uma validação com falha, este é o lugar para começar.


Vinculação de conta externa ausente ou inválida

Esse erro aparece quando o servidor ACME requer External Account Binding (EAB), mas seu cliente não enviou credenciais válidas ou as ignorou completamente. O EAB é uma forma de provar que você tem permissão para usar um determinado servidor ACME.

Como corrigir isso:

  1. Verifique novamente o ID da chave e a chave HMAC: Certifique-se de que ambas estejam corretas e exatamente como fornecidas. Não há espaços ocultos ou quebras de linha.
  2. Use o URL correto do diretório ACME: Alguns clientes permitem que você passe –server. Não misture os URLs de produção e de teste.
  3. Adicione os sinalizadores EAB: Se você estiver usando acme.sh, os sinalizadores deverão ter a seguinte aparência: –eab-kid –eab-hmac-key
  4. Atualize seu cliente ACME: Se o cliente estiver desatualizado, atualize-o. As versões mais recentes têm melhor suporte ao EAB.

A conta não existe

O erro urn:ietf:params:acme:error:accountDoesNotExist aparece quando o cliente ACME tenta usar uma chave de conta local (a que está armazenada na pasta de configuração) que a CA não reconhece.

Em termos simples, o seu cliente ACME está fazendo referência a uma conta que não existe ou que foi excluída no final da CA. Isso é comum quando você reinstala o cliente, move servidores ou alterna entre pontos de extremidade de teste e de produção.

Como corrigir isso:

1. Registre novamente a sua conta ACME: Use as credenciais corretas de vinculação de conta externa (EAB) ao se registrar.
Exemplo de acme.sh:

acme.sh --register-account \
--server https://acme.your-ca.com/v2/DV \
--eab-kid YOUR_EAB_KID \
--eab-hmac-key YOUR_EAB_HMAC_KEY \
--accountemail [email protected]

2. Verifique o URL do servidor ACME: Verifique se você está se registrando no endpoint correto que corresponde ao seu pedido.

3. Evite reutilizar arquivos de conta: Não mova account.conf ou chaves de conta entre servidores ou clientes, a menos que você tenha 100% de certeza de que eles são válidos para a mesma CA e ambiente.


Nonce ruim ou erro anti-repetição

Seu cliente ACME enviou uma solicitação usando um nonce (um token de uso único da CA) que já foi usado, expirou ou é inválido. O servidor o bloqueia para evitar ataques de repetição. O urn:ietf:params:acme:error:badNonce geralmente é um problema temporário causado por tempo ruim, solicitações atrasadas ou incompatibilidade de relógio.

Como corrigir isso:

1. Apenas tente novamente a solicitação: A maioria dos clientes ACME (como o acme.sh) tentará novamente de forma automática quando receberem um erro badNonce. Caso contrário, execute novamente o último comando manualmente. Ele deverá funcionar na segunda tentativa.

2. Sincronize o relógio do servidor: Uma hora de sistema distorcida pode causar erros de reprodução. Você pode correr:

timedatectl status
timedatectl set-ntp true

Ou verifique se o site ntpd ou chronyd está funcionando corretamente.

3. Verifique se há atrasos no proxy ou na CDN: Se você estiver atrás do Cloudflare, de um balanceador de carga ou de um proxy lento, isso poderá atrasar suas solicitações o suficiente para invalidar o nonce. Tente ignorá-lo temporariamente.


Um identificador solicitado não foi delegado

Quando o erro urn:ietf:params:acme:error:rejectedIdentifier aparece, o servidor ACME rejeitou um ou mais dos nomes de domínio que você tentou validar. Geralmente, isso ocorre porque:

  • O domínio não existe no DNS público
  • Não há nenhum registro DNS apontando para o seu servidor
  • O domínio não está autorizado para emissão de certificados

Simplificando, a CA não pode verificar se você possui ou controla esse domínio.

Como corrigir isso:

1. Use o formato correto em seu comando: Inclua apenas o nome do domínio, sem protocolo, barras ou URLs completos.

  • Correto: -d example.com
  • Errado: -d http://example.com

2. Verifique se o domínio existe e é resolvido. Você pode correr:

dig example.com +short

Se não houver saída, seu domínio ainda não está ativo, corrija suas configurações de DNS primeiro.

2. Corresponda ao seu pedido da ACME: Se estiver usando um certificado ACME comercial, verifique se o domínio para o qual você está emitindo está listado no pedido original. Você não pode adicionar domínios em tempo real. Você deve ser pré-aprovado.

3. Fique atento a erros de digitação e confusões de subdomínios: Verifique novamente coisas como www.example.com vs example.com. Eles são tratados como entradas separadas.


Resposta não autorizada ou inválida

A autoridade de certificação não conseguiu verificar a propriedade do domínio que você possui. Na maioria das vezes, ela não conseguiu acessar o arquivo de desafio ACME que seu cliente colocou no servidor. Esse é um problema de validação HTTP: a CA tentou acessar seu site, mas não conseguiu encontrar ou ler o desafio.

A mensagem de erro exata é urn:ietf:params:acme:error:unauthorized. Ela também pode aparecer como: “Resposta inválida de http://yourdomain.com/.well-known/acme-challenge/…”.

Como corrigir isso:

  • Certifique-se de que seu servidor esteja acessível na porta 80 (mesmo que seu site normalmente redirecione para HTTPS).
  • Verifique novamente o caminho da raiz da Web na configuração do cliente ACME. Os arquivos de desafio devem ser gravados em: /.well-known/acme-challenge/.
  • Se o seu servidor forçar redirecionamentos HTTPS, permita temporariamente solicitações HTTP simples para esse caminho.
  • Desative CDNs, proxies reversos ou firewalls que possam interferir na validação HTTP externa da CA.
  • Verifique as permissões do arquivo e confirme se o arquivo de desafio está realmente sendo criado e acessível publicamente.

Token não encontrado ou arquivo inacessível (404 ou 403)

O servidor ACME tentou obter o arquivo de desafio HTTP, mas recebeu uma resposta 404 (Não encontrado) ou 403 (Proibido). Isso significa que o arquivo não foi colocado corretamente, não está acessível publicamente ou o seu servidor da Web está bloqueando o acesso.

As mensagens de erro exatas podem variar. Aqui está o que você pode esperar ver:

  • Resposta inválida de http://yourdomain.com/.well-known/acme-challenge/… [404]
  • Resposta inválida… [403 Forbidden]
  • urn:ietf:params:acme:error:unauthorized

Como corrigir isso:

Verifique a raiz do documento para o domínio e certifique-se de que ela corresponda ao local onde o cliente ACME está colocando o arquivo: /.well-known/acme-challenge/

Confirme se o arquivo de token existe e se você pode acessá-lo em um navegador. Você deve conseguir abrir o URL do desafio diretamente no navegador e ver o conteúdo do token.

Defina as permissões de arquivo corretas: o arquivo de desafio do ACME e suas pastas principais devem ser legíveis por todos.

Se você estiver usando regras .htaccess, firewalls ou plug-ins de segurança (como no WordPress), verifique se eles não estão bloqueando o acesso ao caminho /.well-known/.

Se você receber 403, verifique também a propriedade do arquivo e as restrições do SELinux/AppArmor, se aplicável.


Registro da CAA proíbe a emissão

Seu DNS tem um registro CAA que restringe quais autoridades de certificação podem emitir certificados para o seu domínio. Se a CA que você está tentando usar não estiver listada, ela está bloqueada por padrão. Você poderá ver a seguinte mensagem de erro: urn:ietf:params:acme:error:caa

Essa é uma política em nível de DNS, não um problema de servidor. As CAs são obrigadas a verificar o CAA antes de emitir qualquer certificado.

Como corrigir isso:

Verifique se há registros CAA na zona DNS do seu domínio. Você pode usar ferramentas on-line ou o comando dig:

dig CAA yourdomain.com

Se não houver registro de CAA, qualquer CA pode emitir. Mas, se houver um registro, certifique-se de que ele inclua o nome exato do seu provedor de certificados, como:

  • 0 edição “sectigo.com”
  • 0 emissão “digicert.com”

Se você estiver usando um certificado curinga, adicione também a linha issuewild: 0 issuewild “sectigo.com”

Aguarde alguns minutos para a propagação do DNS e, em seguida, tente novamente o pedido da ACME. Se não tiver certeza, remova o registro CAA temporariamente para testar a emissão, mas somente se você estiver gerenciando o DNS com segurança.


Registro TXT não encontrado (para certificados curinga)

Os certificados curinga (como *.example.com) exigem validação DNS-01, o único método permitido por todas as CAs para domínios curinga.

O DNS-01 funciona solicitando que você crie um registro TXT especial no DNS: _acme-challenge.example.com

Se esse registro estiver ausente ou ainda não tiver sido propagado, você receberá este erro.

Exemplos de erros:

  • urn:ietf:params:acme:error:dns :: Problema de DNS: NXDOMAIN procurando TXT para _acme-challenge.example.com
  • Registro TXT não encontrado para _acme-challenge.example.com

Como corrigir isso:

No seu provedor de DNS, crie um registro TXT:

  • Nome: _acme-challenge.example.com
  • Valor: (o token que seu cliente ACME fornece a você; único por solicitação)

Aguarde de 1 a 10 minutos para que o DNS seja propagado. Alguns provedores demoram mais. Confirme com o seguinte comando.

dig TXT _acme-challenge.example.com

Você também pode usar uma ferramenta de pesquisa de DNS on-line. Quando estiver visível, tente novamente a validação.


Muitas solicitações ou limite de taxa excedido

O erro aparece como urn:ietf:params:acme:error:rateLimited ou 429 Too Many Requests quando o servidor ACME se recusa a processar sua solicitação porque você atingiu um limite de taxa.

Isso geralmente acontece quando você solicita muitos certificados para o(s) mesmo(s) domínio(s) em um curto período ou quando envia muitas solicitações com falha em sequência.

Como corrigir isso:

A maioria dos limites de taxa é redefinida automaticamente após uma hora, um dia ou uma semana, dependendo do que você atingir. Se você estiver usando um script, verifique os registros e corrija os erros antes de tentar novamente. Não faça força bruta cegamente, pois isso só piora o bloqueio.

Para validações de DNS-01, evite novas solicitações rápidas após pequenos erros de registro TXT. Aguarde a propagação do DNS. Se a sua CA fornecer uma página de status ou cabeçalhos de limite de taxa, verifique-os para obter tempos de reinicialização mais precisos.


Erros de DNS ou falhas de pesquisa

Se você receber mensagens como“DNS problem: NXDOMAIN looking up A for example.com” ou“Temporary failure in name resolution“, isso significa que o servidor ACME não conseguiu resolver o nome do seu domínio, seja porque o domínio não existe, ainda não foi propagado ou não tem registros de IP válidos.

A autoridade de certificação depende do DNS para verificar se o seu domínio existe e aponta para algum lugar real. Se ela não conseguir acessar seus registros A (IPv4) ou AAAA (IPv6), interromperá o processo de validação.

Isso pode acontecer se você:

  • Seu domínio é novo e o DNS não foi totalmente propagado
  • Você esqueceu de adicionar os registros DNS corretos
  • Você está trabalhando em uma rede local ou interna sem visibilidade pública do DNS
  • Há um erro de digitação no nome de domínio que você enviou

Como corrigir isso:

  • Verifique novamente se o seu domínio tem registros A ou AAAA válidos apontando para o seu servidor ativo.
  • Use ferramentas como dig, nslookup ou verificadores on-line (por exemplo, whatsmydns.net) para confirmar a propagação.
  • Certifique-se de que você não esteja usando um domínio privado ou apenas interno. A validação do ACME só funciona para nomes que podem ser resolvidos publicamente.
  • Aguarde alguns minutos após as alterações de DNS; elas nem sempre são ativadas instantaneamente.

Não foi possível conectar-se ao servidor ACME

Esse erro aparece quando seu servidor não consegue acessar o endpoint da API do ACME. Ele pode aparecer como Conexão recusada, Tempo limite durante a conexão, Não foi possível conectar ou mensagens semelhantes, dependendo do cliente ACME.

Como corrigir isso:

  • Certifique-se de que seu servidor permita conexões HTTPS de saída na porta 443.
  • Verifique as configurações do firewall ou as regras de rede de saída (especialmente em configurações de nuvem/VPS).
  • Se você usar um proxy, permita o tráfego para o domínio do servidor ACME da CA.
  • Confirme se seu servidor tem um resolvedor de DNS em funcionamento.
  • Teste a conectividade com: curl https://acme.example.com (substitua pelo endpoint real de sua CA).
  • Reinicie o cliente ACME depois de resolver os problemas de rede.

Falha no script de pós-renovação

Esse erro aparece após uma renovação de certificado bem-sucedida, quando o script de acompanhamento destinado a recarregar o servidor da Web ou o serviço não foi executado corretamente. Dependendo do seu cliente ACME, você poderá ver mensagens como “post-hook error”, “deploy script failed” ou “command not found”.

Como corrigir isso:

  • Execute seu script pós-renovação manualmente para ver o que acontece.
  • Verifique os caminhos dos arquivos, especialmente para o novo certificado e a nova chave.
  • Certifique-se de que o script tenha permissões de execução (por exemplo, chmod +x script.sh).
  • Procure por erros de digitação, dependências ausentes ou sintaxe de comando incorreta.
  • Se você estiver usando um deploy hook ou post-hook, confirme se o cliente é compatível com ele e se está configurado corretamente.

Palavras finais

Abordamos os erros mais comuns do certificado SSL do ACMS e fornecemos correções rápidas. Se nenhuma dessas soluções resolver o problema, execute o cliente ACME no modo de depuração. A maioria dos clientes fornecerá resultados mais detalhados quando você ativar o registro. Essas informações podem ajudar a identificar a causa real e fazer com que o SSL volte a funcionar.

Economize 10% em certificados SSL ao fazer seu pedido hoje!

Emissão rápida, criptografia forte, 99,99% de confiança no navegador, suporte dedicado e garantia de reembolso de 25 dias. Código do cupom: SAVE10

Uma imagem detalhada de um dragão em voo
Escrito por

Redator de conteúdo experiente, especializado em certificados SSL. Transformação de tópicos complexos de segurança cibernética em conteúdo claro e envolvente. Contribua para melhorar a segurança digital por meio de narrativas impactantes.