Comparación de clientes ACME y ayuda con la elección de cliente para EAB ACME
Qué es el protocolo ACME y el cliente ACME
ACME (Automated Certificate Management Environment) es un protocolo que permite la emisión, renovación y gestión completamente automatizada de certificados SSL/TLS. En la práctica, elimina la necesidad de generación manual de solicitudes (CSR), verificación de dominio e instalación de certificados, lo que simplifica significativamente todo el proceso y reduce el riesgo de errores. ACME se comunica directamente con la autoridad de certificación y mediante desafíos estandarizados (por ejemplo, HTTP-01 o DNS-01) verifica que el solicitante realmente posee el dominio en cuestión. Gracias a ello, se pueden obtener certificados en cuestión de segundos y también renovarlos automáticamente antes de su expiración.
El cliente ACME es una herramienta o software que implementa este protocolo en el lado del usuario. Su tarea es comunicarse con el servidor ACME (por ejemplo, la autoridad de certificación), generar claves, resolver desafíos de validación e instalar los certificados emitidos en el servidor o en la infraestructura. Entre los clientes ACME más conocidos están Certbot, acme.sh o las herramientas integradas en plataformas de alojamiento modernas. Un cliente ACME correctamente configurado permite una operación totalmente desatendida: los certificados se emiten y renuevan automáticamente, lo que es una solución ideal para entornos escalables y gestión segura de servicios web.
Resumen de funciones de los clientes ACME
Todos los clientes ACME mencionados en la tabla pueden verificar y emitir automáticamente un certificado usando ACME, incluida la integración con DigiCert EAB. Esto es un requisito básico para usar un cliente ACME y, si no pudiera hacer esto, no tendría sentido mencionarlo en el resumen.
| Cliente | Información básica y dificultad | Automatización del certificado | Parámetros técnicos | Resumen | |||||
|---|---|---|---|---|---|---|---|---|---|
| Sistema operativo | Soporte EAB ACME | Método de instalación | Instalación en el servidor | Planificación de renovación | Compatibilidad DNS API | Lenguaje | Probado | Adecuado para | |
| Certbot | Linux, macOS | ✅ Sí | Paquete del sistema (apt / snap) | ✅ Completa (Apache, Nginx) | ✅ Automático (temporizador systemd) | 50+ (complementos) ⚡ | Python | SÍ | Recomendado, servidores web Linux (Apache / Nginx) |
| win-acme | Windows Server | ✅ Sí | Asistente de instalación (.exe) | ✅ Completa (IIS) | ✅ Automático (Programador de tareas) | 30+ ⚡ | C# (.NET) | SÍ | Windows Server / IIS |
| Certify The Web | Windows | ✅ Sí | Instalador (.msi) | ✅ Completa (IIS, Exchange, SQL, API) | ✅ Automático (servicio propio) | 100+ (incluyendo scripts locales) | C# (.NET) | SÍ | Principiantes en Windows, tiene GUI y post-procesamiento |
| SimpleACME (WACS) | Windows Server | ✅ SÍ | Zip / Binario .exe | ✅ Completa (IIS, RDS, Exchange) | ✅ Automático (Programador de tareas) | 40+ (incluyendo complementos Posh-ACME) ⚡ | C# (.NET) | SÍ | Sucesor de win-acme para Windows/IIS |
| Cert-manager | Kubernetes (Linux) | ✅ Sí | Helm chart / Manifestos | ✅ Completa (API de Ingress / Gateway) | ✅ Automático (bucle de controlador) | 60+ (nativos + complementos) | Go | NO | Entornos Kubernetes y Cloud-native |
| acme.sh | Linux, macOS, Unix | ✅ Sí | Script de instalación (curl) | ⚙️ Parcial (gancho de implementación) | ✅ Automático (cron) | 150+ (nativos) ⚡ | Shell (Bash) | SÍ | Recomendado, ideal para automatización DNS y DevOps |
| Lego | Linux, macOS, Windows | ✅ Sí | Descarga de archivo binario | ⚙️ Parcial (gancho de implementación) | ⚙️ Necesita configurar programador externo | 180+ (nativos) ⚡ | Go | SÍ | Nube, Docker, CI/CD |
| Posh-ACME | Windows, Linux (PS Core) | ✅ Sí | Galería de PowerShell | ⚙️ Parcial (scripts) | ✅ Automático (Programador de tareas) | 100+ | PowerShell | Automatización y scripting en Windows | |
| dc-acme | Linux, Windows | ✅ Sí | Script de instalación (curl / PS) | ⚙️ Parcial (Sistema de archivos / Controladores personalizados) | ✅ Automático (servicio del sistema) | UltraDNS, Cloudflare, Route53, Azure | Java / TOML | Entornos empresariales (DigiCert MPKI / ONE) | |
✅ Totalmente automático: todo ocurre sin intervención del usuario.
⚙️ Parcialmente automático: requiere configuración manual o script.
⚡ Puedes usar el complemento DNS para CZECHIA.COM/RegZone; o bien está en el proyecto o por separado en Github.
Cómo elegir el cliente ACME correcto
La elección del cliente ACME depende de los objetivos que tengas. Puedes querer solo emitir el certificado y trabajar con él manualmente o usando scripts, o quieras configurar la automatización completa del ciclo de vida del certificado en el servidor web y ya no tener que preocuparte por él. Estos son criterios importantes para hacer tu elección.
La automatización de todo el ciclo de vida del certificado consta de varias partes que el cliente ACME debe poder resolver:
- Comunicación con CA - para certificados OV y EV es necesario que el cliente soporte EAB ACME. No todos los clientes soportan EAB, por ejemplo, la implementación nativa de ACME en nginx no soporta EAB.
- Verificación de dominio automática - en cada emisión de certificado, el dominio debe verificarse (DCV), o el dominio debe estar previamente verificado. Sin verificación automática del dominio, no será posible emitir certificados en el futuro.
- HTTP-01: Se publica un archivo de verificación en el servidor y la CA lo revisa, usando el puerto 80.
- DNS-01: El registro de verificación se configura en la zona DNS del dominio. Para cambiar el registro DNS es necesario un complemento para el API del proveedor DNS (Cloudflare, CZECHIA.COM).
- Emisión del certificado - Los certificados DV se emiten de inmediato, para OV y EV la organización debe ser verificada, lo que se resuelve con verificación previa. El cliente ACME guarda el certificado emitido localmente en el disco, donde ya tiene la clave privada. Se puede trabajar con el certificado mediante scripts (gancho de implementación).
- Instalación/Configuración del certificado en el servidor - configuración (instalación) del certificado en el servicio correcto en el servidor web. Esto requiere manipulación y ajuste de archivos de configuración + reinicio del servicio. La instalación suele ser posible solo en servidores web Apache, nginx e IIS.
No todos los clientes ACME cumplen con todos los requisitos. Por ello, hemos hecho un cuadro resumen para facilitar la elección.
Qué hacer si mi servidor no es compatible con el cliente ACME
Es típico para los clientes ACME que puedan configurar el certificado emitido en los servidores web más comunes: Apache, nginx e IIS. Suelen ser estas las capacidades donde terminan. Si necesitas automatizar certificados en un servidor que no es compatible con los clientes ACME, se debe dividir la automatización en la fase de emisión y la fase de implementación del certificado.
La emisión siempre se puede automatizar con acme.sh y DNS; de esta manera puedes emitir un certificado en cualquier máquina y no necesitas ejecutar ACME directamente en el servidor como se requiere en HTTP-01. Luego, el certificado emitido debe transferirse al servidor de destino y ahí implementarlo, lo cual necesita ser scriptado individualmente según el tipo específico del servidor web.
Consulta con nuestro soporte
Si este artículo no respondió a todas tus preguntas, no dudes en contactar con nuestro soporte de SSLmarket. Expertos en vivo están a tu disposición diariamente.