Solicitud de certificado a través de ACME y DNS en la aplicación de SSLmarket
La aplicación de SSLmarket facilita la vida al usar o probar DNS. Esta guía se centra en la solicitud manual de un certificado, que se verifica a través de DNS-01, y en el cambio de registros DNS a través de API. Aprenderás cómo funciona el principio y cómo usarlo con registradores compatibles.
Qué es el protocolo ACME
ACME (Automatic Certificate Management Environment) es un protocolo abierto que automatiza la emisión y renovación de certificados TLS. Está estandarizado en RFC 8555. Inicialmente se creó para la autoridad de certificación Let's Encrypt, pero hoy en día es compatible con autoridades comerciales, incluida DigiCert. En el servidor se ejecuta el cliente ACME, que se registra en la autoridad de certificación. Para las CA comerciales, generalmente se utilizan las credenciales ACME (External Account Binding) que conectan al cliente con la cuenta del cliente. Luego, el cliente envía una solicitud de certificado y la autoridad le solicita que demuestre el control sobre el dominio. Después de una verificación exitosa, la autoridad emite el certificado, el cliente lo descarga e instala. Antes de que expire la validez, el proceso se repite automáticamente, por lo que el certificado se renueva sin intervención del administrador.
Verificación del dominio mediante el método DNS-01
Uno de los métodos de verificación del dominio es DNS-01. La autoridad de certificación entrega al cliente ACME un token. El cliente deriva un valor del token y lo inserta en un registro TXT del dominio a verificar: _acme-challenge. Luego, la autoridad busca el registro en el DNS y, si el valor coincide, el dominio está verificado. La ventaja de DNS-01 es que el servidor no tiene que estar disponible desde Internet ni tener el puerto 80 abierto. El método también permite emitir un certificado comodín (*.dominio.com). Si tu proveedor DNS ofrece una API para gestionar registros, el cliente ACME puede crear automáticamente el registro TXT y eliminarlo después de la verificación, lo que hace que todo el proceso, incluida la renovación, sea completamente automático. Para este propósito, recomendamos una clave API con los permisos más restringidos posibles, idealmente limitada solo a la gestión de registros DNS del dominio en cuestión.
Integración de ACME en la aplicación SSLmarket
La aplicación de SSLmarket para Windows permite, además de la creación y gestión de credenciales ACME, la emisión manual de certificados a través de ACME y la verificación DNS-01.
La solicitud manual de certificado es posible gracias a la configuración de los registros DNS a través de API en el dominio a verificar, lo que permite separar al solicitante del certificado del propio dominio. Esto no es posible con la verificación mediante un archivo publicado en la web (HTTP-01). La solicitud de emisión de certificado llega a la CA, que devuelve un secreto único para el desafío y verifica su presencia en la zona DNS del dominio a verificar. Si encuentra el registro allí, completa la solicitud del certificado a través de ACME y lo emite. El cliente ACME (en este caso, la aplicación SSLmarket) luego guarda el certificado en tu computadora (almacén de certificados de Windows o PFX).
Esta opción de emisión puede ser útil si necesitas emitir un certificado para un servidor que no está conectado a Internet, o si simplemente quieres un PFX. También es útil para pruebas.
Servicios compatibles con API DNS
En la primera versión con soporte ACME (1.5.0), tienes tres servicios disponibles en la aplicación para gestionar registros DNS a través de API:
- CZECHIA.COM (Zoner)
- Google Cloud DNS
- Cloudflare
El dominio a verificar debe tener los servidores de nombres de estos proveedores (la zona DNS está alojada con ellos) y debes tener una clave API que permita manipular los registros. Añadiremos más proveedores en el futuro, si el proyecto los soporta y es técnicamente posible.
Cómo funciona ACME en la aplicación SSLmarket
ACME está integrado en la aplicación SSLmarket a través del proyecto simple-acme. Éste puede realizar la verificación DNS-01 mediante complementos que integran la API de terceros. La aplicación SSLmarket toma los parámetros necesarios y se los pasa al cliente simple-acme que se ejecuta en segundo plano. Para los usuarios, esto es una simplificación y para los desarrolladores de la aplicación, la posibilidad de utilizar fácilmente las integraciones de API DNS ya hechas.
En el detalle de una credencial ACME específica, puedes solicitar directamente un certificado. Rellena el nombre del dominio que debe verificarse a través de DNS, selecciona el proveedor de registros DNS y configura el almacenamiento del certificado emitido (almacén de certificados de Windows, PFX). Si se ha introducido una clave API funcional para el servicio de terceros y es funcional, la solicitud se completará después de la verificación del DCV, el certificado se emitirá y se almacenará según la configuración de la solicitud.
Ves el estado de la solicitud en el registro frente a ti, por lo que puedes resolver fácilmente cualquier problema analizando el registro o enviándolo al soporte al cliente de SSLmarket.
Los certificados emitidos a través de ACME también aparecerán en tu cuenta de SSLmarket el día siguiente y se facturarán el mes siguiente según la lista de precios vigente de la cuenta del cliente.
Otros recursos y documentación
La aplicación SSLmarket para emitir certificados a través de ACME integra y utiliza el proyecto simple-acme, incluidos los complementos DNS que integran servicios de terceros. Para referencia sobre el uso del API DNS de cada proveedor, recomiendo la página Validación DNS. Cada proveedor tiene una autenticación y configuración diferentes, nuestra aplicación las adopta en su configuración (frontend) y las pasa a simple-acme en segundo plano.
Lo sentimos que no haya encontrado lo necesario aquí.
Ayúdanos mejorar el artículo, por favor. Escríbenos lo que esperaba aquí y no encontró.