SSLmentor

Certificados TLS/SSL de calidad para sitios web y proyectos en Internet.

ACME

ACME

ACME

El protocolo ACME (Automatic Certificate Management Environment) es un estándar abierto de internet que permite la emisión, renovación y revocación totalmente automatizadas de certificados SSL. Gracias a ACME, los servidores web pueden solicitar certificados por sí mismos y renovarlos automáticamente sin la intervención manual del administrador. Las implementaciones de clientes ACME automatizan y simplifican considerablemente la gestión de certificados en un momento en que los nuevos estándares están acortando progresivamente la validez de los certificados SSL/TLS hasta un máximo de 47 días para 2029.

¿Qué es el protocolo ACME?

ACME es un protocolo definido en RFC 8555 (publicado en 2019), que estandariza la comunicación entre un cliente (servidor web o herramienta de gestión de certificados) y una autoridad de certificación (CA). Originalmente fue diseñado y popularizado por la autoridad de certificación Let's Encrypt, que emite certificados DV gratuitos mediante ACME.

El protocolo funciona según el principio challenge – response: el cliente demuestra a la autoridad de certificación (CA) que realmente controla el dominio para el que solicita un certificado. Tras una verificación correcta, la CA emite el certificado automáticamente. Todo el proceso tarda muy poco tiempo.

La abreviatura ACME significa Automatic Certificate Management Environment.

¿Cómo funciona ACME?

La comunicación entre el cliente ACME y la autoridad de certificación (CA) se realiza exclusivamente a través de HTTP REST API. El cliente y la CA intercambian mensajes en formato JSON. Todo el proceso se puede resumir en los siguientes pasos.

  • Activación de la cuenta – El cliente ACME se conecta a la CA usando las credenciales EAB (external account binding). Envía el Key identifier (KID) y la clave HMAC.
  • Solicitud de certificado (Order) – El cliente envía a la CA una lista de dominios para los que solicita un certificado. La CA devuelve una lista de desafíos que el cliente debe completar para cada dominio.
  • Completar el desafío (Challenge) – El cliente elige uno de los tipos de desafío ofrecidos (HTTP-01, DNS-01, TLS-ALPN-01) y realiza la acción requerida – coloca un token en el servidor o configura un registro DNS.
  • Verificación por parte de la CA – La CA verifica automáticamente si el desafío se ha completado (visita la URL, comprueba el registro DNS, etc.). Una verificación correcta confirma la autorización del dominio.
  • Emisión del certificado – El cliente envía una solicitud de certificado (CSR). La CA firma el certificado y lo devuelve al cliente en formato PEM.
  • Renovación automática – El cliente ACME configura la renovación periódica en su configuración. El certificado se renueva normalmente con suficiente antelación a su caducidad para evitar interrupciones de HTTPS.

Tipos de desafíos ACME

Para que la autoridad de certificación (CA) pueda verificar que el solicitante realmente controla el dominio, el protocolo ACME ofrece tres tipos de desafío estandarizados:

HTTP-01

El cliente ACME coloca un archivo especial (token) en el servidor web, en el directorio /.well-known/acme-challenge/. A continuación, la CA verifica su disponibilidad a través de HTTP en el puerto 80. Este es el método de verificación más utilizado.

Limitaciones: No funciona para certificados WildCard. El dominio debe ser accesible públicamente en el puerto 80.

DNS-01

El cliente crea un registro TXT especial en el DNS del dominio con el formato _acme-challenge.domenaxyz.cz con un token único de la CA. La CA verifica el registro a través de DNS. Este método de verificación permite obtener un certificado WildCard.

Limitaciones: Requiere acceso a los registros DNS del dominio. Puede ser más lento debido a la propagación de los cambios en el DNS.

TLS-ALPN-01

La verificación se realiza a través de TLS en el puerto 443 usando la extensión ALPN (Application-Layer Protocol Negotiation). El cliente pone temporalmente a disposición un certificado especial con el token ACME.

Limitaciones: Puede resultar complicado en algunos entornos de hosting.

Clientes ACME – resumen de herramientas

Existe una amplia variedad de herramientas ya preparadas para trabajar con el protocolo ACME.

Certbot

El cliente ACME más popular, de EFF.org. Integración automática con Apache y Nginx. Compatible con Linux y macOS. Certbot es una herramienta muy utilizada y bien documentada que ofrece comandos sencillos para obtener y renovar certificados. También cuenta con un amplio soporte para diversos servidores web y entornos de hosting.

acme.sh

Un cliente ACME minimalista escrito en shell, compatible con más de 150 proveedores de DNS. Linux, macOS, FreeBSD. acme.sh se centra en la sencillez y en una amplia compatibilidad.

win-acme

Un cliente ACME para Windows con integración con IIS. Admite tanto interfaz gráfica como línea de comandos. win-acme es ideal para gestionar certificados en servidores Windows, especialmente con IIS.

Lego

Un cliente ACME escrito en Go. Adecuado para integraciones personalizadas y scripting. Lego es un cliente ACME flexible que puede integrarse fácilmente en sistemas y scripts propios gracias a su implementación en el lenguaje Go.

Volver a Ayuda
¿Encontraste un error o no entiendes algo? ¡Escríbenos!

CA Sectigo
CA RapidSSL
CA Thawte
CA GeoTrust
CA DigiCert
CA Certum