Los clientes ACME (Automated Certificate Management Environment) vienen en dos formas: basados en navegador (como GetHTTPS) y de línea de comandos (como Certbot y acme.sh). Ambos se comunican con la misma API de Let’s Encrypt y emiten certificados idénticos. La diferencia está en dónde se realiza el trabajo y quién controla las claves.
Comparación
| Basado en navegador (GetHTTPS) | CLI (Certbot, acme.sh) | |
|---|---|---|
| Dónde se ejecuta | Tu pestaña del navegador | Línea de comandos del servidor |
| Instalación | Ninguna | Requerida (snap, pip, shell script) |
| Generación de claves | Navegador (Web Crypto API) | Servidor (OpenSSL) |
| Almacenamiento de claves | Descargadas por ti | Sistema de archivos del servidor |
| Renovación automática | ❌ Manual | ✅ Cron/systemd |
| Acceso al servidor necesario | No | Sí |
| Interfaz gráfica | ✅ | ❌ |
| Pre-verificación | ✅ (GetHTTPS) | ❌ |
| Scriptable | ❌ | ✅ |
| Dependencias | Navegador moderno | OpenSSL, curl, cron |
Cuándo gana el navegador
- Sin acceso al servidor — hosting compartido, plataformas gestionadas o servidores donde no puedes instalar software
- Máxima privacidad de claves — la clave privada existe solo en la memoria del navegador hasta que la descargas
- Usuarios no técnicos — una interfaz web es más accesible que una terminal
- Certificados puntuales — más rápido que configurar una herramienta CLI para un solo certificado
- Ayudar a otros — es más fácil compartir pantalla con un flujo de navegador que dictar comandos CLI
Cuándo gana la CLI
- Renovación automática — esencial para servidores en producción, especialmente con la validez de 47 días que se avecina
- Infraestructura a escala — scriptable, containerizable, configurable mediante gestión de configuración
- Automatización de API DNS — las herramientas CLI como acme.sh tienen plugins para más de 150 proveedores DNS
- Integración CI/CD — emisión de certificados como parte de pipelines de despliegue
- Auto-configuración del servidor — los plugins de Nginx/Apache de Certbot configuran el servidor directamente
El enfoque híbrido
Muchos equipos usan ambos:
- GetHTTPS para el primer certificado (sin tiempo de configuración)
- Certbot o acme.sh instalado después para renovación automática continua
Esto te permite funcionar inmediatamente sin el costo inicial de configurar una herramienta CLI, y luego añadir automatización cuando estés listo.
Clientes ACME basados en navegador
La categoría de clientes ACME basados en navegador es relativamente nueva. Las opciones incluyen:
| Cliente | Código abierto | Generación de claves | ACME directo | Pre-verificación |
|---|---|---|---|---|
| GetHTTPS | No | Navegador (Web Crypto) | Sí | Sí |
| SSL For Free | No | ⚠️ Del lado del servidor | Vía ZeroSSL | No |
| ZeroSSL Dashboard | No | ⚠️ Puede ser del lado del servidor | Vía ZeroSSL API | No |
GetHTTPS es el único cliente basado en navegador que genera claves localmente usando la Web Crypto API y se conecta directamente a la API ACME de Let’s Encrypt sin ningún middleware.
Clientes ACME CLI
El ecosistema CLI es más maduro:
| Cliente | Lenguaje | Root necesario | Renovación automática | Plugins DNS | Configuración del servidor |
|---|---|---|---|---|---|
| Certbot | Python | Sí (snap/pip) | Sí (systemd) | Vía plugins | Auto-config Nginx/Apache |
| acme.sh | Shell | No | Sí (cron) | 150+ integrados | Manual |
| Lego | Go | No | Sí | 100+ | Manual |
| Caddy | Go | N/A (integrado) | Sí (automático) | Vía módulos DNS | Integrado en el servidor Caddy |
| dehydrated | Shell | No | Sí (cron) | Vía hooks | Manual |
Para comparaciones detalladas: GetHTTPS vs Certbot → | GetHTTPS vs acme.sh →
El futuro: certificados de 47 días
Con la validez de certificados reduciéndose a 47 días para 2029, el balance se inclina aún más hacia los clientes CLI para uso en producción. Renovar cada 30-35 días manualmente (basado en navegador) es factible pero tedioso.
Sin embargo, los clientes basados en navegador no desaparecerán. Sirven nichos permanentemente útiles:
- Entornos sin acceso CLI — hosting compartido, plataformas gestionadas, entornos corporativos restrictivos
- Configuración inicial — pon HTTPS en funcionamiento en 5 minutos, luego decide si instalar una herramienta CLI
- Renovación de emergencia — el Certbot del servidor falló y necesitas un certificado AHORA
- Certificado para otra persona — genera un certificado para un cliente o compañero de equipo sin acceder a su servidor
- Escenarios sensibles a la privacidad — la clave nunca debe existir en ningún servidor, ni siquiera temporalmente
Preguntas frecuentes
¿Es un cliente basado en navegador menos seguro?
No inherentemente. GetHTTPS genera claves con la Web Crypto API (las mismas primitivas criptográficas que usa TLS) y se comunica directamente con Let’s Encrypt a través de HTTPS. La clave nunca toca ningún servidor de terceros. La principal diferencia es la falta de renovación automática, no la seguridad.
¿Los clientes basados en navegador quedarán obsoletos con los certificados de 47 días?
No serán obsoletos, pero serán menos convenientes como único método de renovación. Seguirán siendo valiosos para la configuración inicial, renovaciones de emergencia y escenarios sin acceso al servidor. Pero para cargas de trabajo en producción que renuevan cada 30-40 días, la automatización CLI es la opción pragmática a largo plazo.
¿Qué cliente CLI debería usar?
Certbot si quieres auto-configuración de Nginx/Apache y no te importa el acceso root. acme.sh si quieres operación sin root, plugins de API DNS y un footprint ligero. Caddy si estás cambiando de servidor web: gestiona HTTPS automáticamente sin configuración.
¿Puede un cliente basado en navegador funcionar para pipelines automatizados?
No directamente: los clientes basados en navegador requieren interacción manual. Para pipelines CI/CD o infraestructura como código, usa un cliente CLI. GetHTTPS está diseñado para flujos de trabajo operados por humanos; Certbot y acme.sh están diseñados para los operados por máquinas.