Todos os artigos sobre SSL SSL e certificados

O que e o Protocolo ACME?

ACME (Automated Certificate Management Environment) e o protocolo que torna possiveis certificados SSL gratuitos e automatizados. E como o Let’s Encrypt — e seu cliente ACME (GetHTTPS, Certbot, acme.sh) — realmente se comunica com a Autoridade Certificadora.

Definido na RFC 8555, o ACME substituiu o antigo processo manual (enviar CSRs por email para uma CA, esperar revisao humana) por um protocolo totalmente automatizado e criptograficamente seguro.

Como o ACME funciona — os 5 passos

┌──────────┐                              ┌──────────────┐
│  Client   │  ① Account Registration     │  CA Server   │
│ (GetHTTPS)│ ──────────────────────────→  │ (Let's Encrypt)
│           │  ② New Order (domains)       │              │
│           │ ──────────────────────────→  │              │
│           │  ③ Complete Challenges       │              │
│           │ ←─────────────────────────── │              │
│           │ ──────────────────────────→  │              │
│           │  ④ Finalize (send CSR)       │              │
│           │ ──────────────────────────→  │              │
│           │  ⑤ Download Certificate      │              │
│           │ ←─────────────────────────── │              │
└──────────┘                              └──────────────┘

Passo 1: Registro da conta

O cliente gera um par de chaves de conta ACME e registra a chave pública na CA. Essa chave identifica você em futuras requisições — cada mensagem ACME é assinada com ela.

Nenhum email, nenhuma senha, nenhuma informação pessoal necessária.

Passo 2: Novo pedido

O cliente submete uma lista de nomes de domínio para os quais deseja um certificado. A CA cria um “pedido” e retorna um conjunto de “autorizações” — uma por domínio — cada uma com desafios a completar.

Passo 3: Completar desafios

Para cada domínio, o cliente deve provar o controle. A CA oferece tipos de desafio:

DesafioComo funcionaCaso de uso
HTTP-01Colocar um arquivo em /.well-known/acme-challenge/Mais comum, mais simples
DNS-01Adicionar um registro TXT em _acme-challenge.domainWildcards, sem porta 80
TLS-ALPN-01Responder na porta 443 com um certificado TLS especialQuando porta 80 esta bloqueada, sem acesso DNS

O cliente completa o desafio, depois informa a CA para verificar. A CA verifica a partir de seus servidores — se o desafio passa, a autorização e marcada como válida.

Passo 4: Finalizar (enviar CSR)

Após todos os domínios serem autorizados, o cliente envia um CSR (Certificate Signing Request) contendo a chave pública para o certificado. A CA o assina e cria o certificado.

Passo 5: Baixar certificado

O cliente baixa a cadeia de certificados assinada — seu certificado + o certificado CA intermediário. Pronto.

Modelo de segurança do ACME

Cada requisição ACME é assinada com JWS (JSON Web Signature) usando a chave da conta. Isso previne:

  • Ataques de replay — cada requisição tem um nonce único
  • Adulteracao — a assinatura cobre todo o corpo da requisição
  • Personificacao — apenas o detentor da chave da conta pode fazer requisições

A chave da conta nunca sai do cliente. Com GetHTTPS, ela é gerada no seu navegador via Web Crypto API.

Como o GetHTTPS usa ACME

GetHTTPS implementa o protocolo ACME completo em JavaScript rodando no seu navegador:

  1. Chave da conta gerada com crypto.subtle.generateKey() (Web Crypto API)
  2. Chave do certificado gerada da mesma forma
  3. Mensagens ACME assinadas com crypto.subtle.sign()
  4. CSR construido com a biblioteca pkijs
  5. Comunicação HTTPS direta com acme-v02.api.letsencrypt.org

Sem proxy do lado do servidor, sem middleware. Seu navegador fala diretamente com a API ACME do Let’s Encrypt. Isso e único — a maioria dos clientes ACME roda em um servidor.

Clientes ACME comparados

ClienteRoda emACME v2Auto-renovaçãoLinguagem
GetHTTPSNavegador❌ ManualJavaScript
CertbotCLI do servidorPython
acme.shCLI do servidorShell
CaddyServidor webGo
TraefikProxy reversoGo
LegoBiblioteca CLIGo

Comparacao completa →

CAs que suportam ACME

ACME foi criado pelo Let’s Encrypt mas agora é um padrão aberto usado por múltiplas CAs:

CAURL do diretorio ACMEGratuito?
Let’s Encryptacme-v02.api.letsencrypt.org/directory
ZeroSSLacme.zerossl.com/v2/DV90Gratuito limitado
Buypassapi.buypass.com/acme/directory
Google Trust ServicesVia Google Cloud ACME
DigiCertEndpoint ACME EnterprisePago
SectigoEndpoint ACME EnterprisePago

Perguntas frequentes

ACME é o mesmo que Let’s Encrypt?

Não. ACME e o protocolo (RFC 8555). Let’s Encrypt é uma Autoridade Certificadora que usa ACME. Outras CAs (ZeroSSL, Buypass, Google) também suportam ACME. Pense nisso como HTTP vs Google — HTTP e o protocolo, Google é um serviço que o usa.

Posso implementar meu próprio cliente ACME?

Sim. O protocolo e totalmente especificado na RFC 8555. GetHTTPS é um exemplo de implementacao baseada em navegador. Bibliotecas existem para a maioria das linguagens (certbot para Python, lego para Go, acme.js para JavaScript).

O que e ACME v2?

ACME v2 e a versão atual (RFC 8555), que adicionou suporte a certificados wildcard e substituiu o rascunho do protocolo v1. Todos os clientes ACME modernos usam v2. O Let’s Encrypt desligou o endpoint v1 em 2021.

O que acontece se o servidor ACME ficar fora do ar?

Certificados existentes continuam funcionando (eles não ligam para casa). Você apenas não pode emitir ou renovar até o servidor se recuperar. O Let’s Encrypt tem alta disponibilidade e infraestrutura redundante.

Artigos relacionados

SSL e certificados 2026-05-07
O que e Let's Encrypt?
Let's Encrypt é uma Autoridade Certificadora gratuita e sem fins lucrativos que emitiu mais de 1 bilhao de certificados SSL. Aprenda como funciona, seus limites de taxa e como usa-lo com GetHTTPS.
Primeiros passos 2026-05-08
Desafio HTTP-01: como funciona e como completar
HTTP-01 e a forma mais simples de comprovar a propriedade do domínio para um certificado SSL. Coloque um arquivo no seu servidor, o Let's Encrypt verifica e seu certificado e emitido.
Primeiros passos 2026-05-08
Desafio DNS-01: como funciona e como completar
A válidação DNS-01 comprova a propriedade do domínio adicionando um registro TXT ao seu DNS. Necessária para certificados wildcard. Abrange configuração para Cloudflare, Route 53, GoDaddy, Namecheap e mais.
SSL e certificados 2026-05-07
Como SSL/TLS Funciona: O Handshake TLS Explicado
Um passo a passo visual do handshake TLS — como seu navegador é um servidor estabelecem uma conexão criptografada em milissegundos. Cobre TLS 1.2, TLS 1.3, retomada de sessão e forward secrecy.
Obtenha um certificado SSL gratuito no seu navegador
Sem instalacao, sem conta. Sua chave privada nunca sai do seu dispositivo.
Obter seu certificado