Os clientes ACME (Automated Certificate Management Environment) existem em duas formas: baseados em navegador (como GetHTTPS) e linha de comando (como Certbot e acme.sh). Ambos se comunicam com a mesma API do Let’s Encrypt e emitem certificados idênticos. A diferença está em onde o trabalho acontece e quem controla as chaves.
Comparação
| Baseado em navegador (GetHTTPS) | CLI (Certbot, acme.sh) | |
|---|---|---|
| Onde roda | Na aba do seu navegador | Linha de comando do servidor |
| Instalação | Nenhuma | Necessária (snap, pip, shell script) |
| Geração de chave | Navegador (Web Crypto API) | Servidor (OpenSSL) |
| Armazenamento de chave | Baixada por você | Sistema de arquivos do servidor |
| Renovação automática | ❌ Manual | ✅ Cron/systemd |
| Acesso ao servidor necessário | Não | Sim |
| GUI | ✅ | ❌ |
| Pré-verificação de válidação | ✅ (GetHTTPS) | ❌ |
| Scriptável | ❌ | ✅ |
| Dependências | Navegador moderno | OpenSSL, curl, cron |
Quando o baseado em navegador vence
- Sem acesso ao servidor — hospedagem compartilhada, plataformas gerenciadas ou servidores onde você não pode instalar software
- Máxima privacidade da chave — a chave privada existe apenas na memória do navegador até você baixá-la
- Usuários não técnicos — uma interface web é mais acessível que um terminal
- Certificados avulsos — mais rápido do que configurar uma ferramenta CLI para um único certificado
- Ajudando outros — mais fácil compartilhar a tela de um fluxo no navegador do que ditar comandos CLI
Quando o CLI vence
- Renovação automatizada — essencial para servidores de produção, especialmente com a validade de 47 dias chegando
- Infraestrutura em escala — scriptável, containerizável, configurável via gerenciamento de configuração
- Automação de API DNS — ferramentas CLI como acme.sh têm plugins para mais de 150 provedores DNS
- Integração CI/CD — emissão de certificados como parte de pipelines de implantação
- Auto-configuração do servidor — plugins Nginx/Apache do Certbot configuram o servidor diretamente
A abordagem híbrida
Muitas equipes usam ambos:
- GetHTTPS para o primeiro certificado (tempo zero de configuração)
- Certbot ou acme.sh instalado depois para renovação automática contínua
Isso coloca tudo funcionando imediatamente sem o custo inicial de configurar uma ferramenta CLI, e depois adiciona automação quando você estiver pronto.
Clientes ACME baseados em navegador
A categoria de clientes ACME baseados em navegador é relativamente nova. As opções incluem:
| Cliente | Open source | Geração de chave | ACME direto | Pré-verificação |
|---|---|---|---|---|
| GetHTTPS | Não | Navegador (Web Crypto) | Sim | Sim |
| SSL For Free | Não | ⚠️ Lado do servidor | Via ZeroSSL | Não |
| ZeroSSL Dashboard | Não | ⚠️ Pode ser lado do servidor | Via ZeroSSL API | Não |
GetHTTPS é o único cliente baseado em navegador que gera chaves localmente usando a Web Crypto API e se conecta diretamente à API ACME do Let’s Encrypt sem nenhum middleware.
Clientes ACME CLI
O ecossistema CLI é mais maduro:
| Cliente | Linguagem | Root necessário | Renovação automática | Plugins DNS | Configuração do servidor |
|---|---|---|---|---|---|
| Certbot | Python | Sim (snap/pip) | Sim (systemd) | Via plugins | Auto-configuração Nginx/Apache |
| acme.sh | Shell | Não | Sim (cron) | 150+ integrados | Manual |
| Lego | Go | Não | Sim | 100+ | Manual |
| Caddy | Go | N/A (integrado) | Sim (automático) | Via módulos DNS | Integrado ao servidor Caddy |
| dehydrated | Shell | Não | Sim (cron) | Via hooks | Manual |
Para comparações detalhadas: GetHTTPS vs Certbot → | GetHTTPS vs acme.sh →
O futuro: certificados de 47 dias
Com a validade dos certificados caindo para 47 dias até 2029, o equilíbrio se desloca ainda mais para clientes CLI em uso de produção. Renovar a cada 30-35 dias manualmente (baseado em navegador) é possível, mas tedioso.
No entanto, clientes baseados em navegador não vão desaparecer. Eles servem a nichos permanentemente úteis:
- Ambientes sem acesso CLI — hospedagem compartilhada, plataformas gerenciadas, ambientes corporativos restritivos
- Configuração inicial — tenha o HTTPS funcionando em 5 minutos, depois decida se instala uma ferramenta CLI
- Renovação de emergência — o Certbot do servidor quebrou e você precisa de um certificado AGORA
- Certificado para outra pessoa — gere um certificado para um cliente ou colega sem acessar o servidor deles
- Cenários sensíveis à privacidade — a chave nunca deve existir em nenhum servidor, nem temporariamente
Perguntas frequentes
Um cliente baseado em navegador é menos seguro?
Não inerentemente. GetHTTPS gera chaves com a Web Crypto API (mesmas primitivas criptográficas que o próprio TLS usa) e se comunica diretamente com o Let’s Encrypt via HTTPS. A chave nunca toca nenhum servidor de terceiros. A principal desvantagem é a falta de renovação automatizada, não a segurança.
Clientes baseados em navegador ficarão obsoletos com certificados de 47 dias?
Não obsoletos, mas menos convenientes como único método de renovação. Eles continuarão valiosos para configuração inicial, renovações de emergência e cenários sem acesso ao servidor. Mas para cargas de trabalho de produção renovando a cada 30-40 dias, a automação CLI é a escolha pragmática a longo prazo.
Qual cliente CLI devo usar?
Certbot se você quer auto-configuração do Nginx/Apache e não se importa com acesso root. acme.sh se você quer operação sem root, plugins de API DNS é uma pegada leve. Caddy se você está trocando de servidor web — ele gerencia HTTPS automaticamente com zero configuração.
Um cliente baseado em navegador pode funcionar em pipelines automatizados?
Não diretamente — clientes baseados em navegador requerem interação manual. Para pipelines CI/CD ou infraestrutura como código, use um cliente CLI. GetHTTPS foi projetado para fluxos de trabalho operados por humanos; Certbot e acme.sh foram projetados para operações por máquinas.