Solicitud de certificado a través de ACME y DNS en la aplicación SSLmarket
La aplicación SSLmarket te facilita la vida al usar o probar DNS. Esta guía se centra en la solicitud manual de certificado, que se verifica a través de DNS-01, y el cambio de registros DNS a través de la API. Aprenderás cómo funciona el principio y cómo usarlo con registradores compatibles.
Qué es el protocolo ACME
ACME (Entorno de Gestión de Certificados Automático) es un protocolo abierto que automatiza la emisión y renovación de certificados TLS. Está estandarizado en el RFC 8555. Originalmente fue creado para la autoridad certificadora Let's Encrypt, pero hoy en día también es soportado por autoridades comerciales, incluido DigiCert. En el servidor se ejecuta un cliente ACME, que se registra ante la autoridad certificadora. En las CA comerciales generalmente se utilizan las credenciales ACME (Vinculación de Cuenta Externa), que conectan al cliente con la cuenta del cliente. Luego, el cliente presenta una solicitud de certificado y la autoridad le pide que demuestre el control sobre el dominio. Tras una verificación exitosa, la autoridad emite el certificado, el cliente lo descarga e instala. Antes de la expiración, todo el proceso se repite automáticamente, para que el certificado se renueve sin intervención del administrador.
Verificación de dominio mediante el método DNS-01
Uno de los métodos de verificación de dominio es DNS-01. La autoridad certificadora entrega un token al cliente ACME. El cliente deriva un valor de él y lo ingresa en un registro TXT en el dominio verificado: _acme-challenge. Luego, la autoridad busca el registro en DNS y, si el valor coincide, el dominio está verificado. La ventaja de DNS-01 es que el servidor no necesita estar disponible en Internet ni tener el puerto 80 abierto. El método también permite emitir un certificado comodín (*.dominio.com). Si tu proveedor de DNS ofrece una API para la gestión de registros, el cliente ACME puede crear el registro TXT por sí mismo y eliminarlo después de la verificación, de modo que todo el proceso, incluida la renovación, sea completamente automático. Para este propósito, se recomienda una clave de API con permisos lo más limitados posible, idealmente restringida solo a la administración de registros DNS del dominio en cuestión.
Integración de ACME en la aplicación SSLmarket
La aplicación SSLmarket para Windows permite, además de la creación y gestión de credenciales ACME, también la emisión manual de certificados a través de ACME y verificación DNS-01.
La solicitud manual de certificado es posible gracias a la configuración de registros DNS a través de la API del dominio verificado, lo que permite separar al solicitante de certificado del dominio en sí. Esto no es posible con la verificación mediante un archivo expuesto 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 verificado. Si encuentra el registro allí, completa la solicitud de certificado a través de ACME y lo emite. El cliente ACME (en este caso, la aplicación SSLmarket) luego almacena 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 simplemente deseas PFX. También es útil para pruebas.
Servicios compatibles con API de DNS
En la primera versión con soporte para ACME (1.5.0) tienes en la aplicación tres servicios para la gestión de registros DNS a través de la API:
- CZECHIA.COM (Zoner)
- Google Cloud DNS
- Cloudflare
El dominio verificado debe tener los servidores de nombres de estos proveedores (la zona DNS está alojada por ellos) y debes tener una clave de API que permita la manipulación de registros. Añadiremos otros 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 mediante el proyecto simple-acme. Este puede realizar la verificación DNS-01 mediante plugins que integran API de terceros. La aplicación SSLmarket toma los parámetros necesarios y los pasa al cliente simple-acme que corre en segundo plano. Para el usuario es una simplificación y para los autores de la aplicación una oportunidad de utilizar fácilmente integraciones de API de DNS ya existentes.
En el detalle de una credencial ACME específica, puedes solicitar directamente un certificado. Complete el nombre del dominio que debe verificarse a través de DNS, selecciona el proveedor de registros DNS y configuras el almacenamiento del certificado emitido (almacén de certificados de Windows, PFX). Si se inserta una clave de API funcional para el servicio de terceros y es funcional, la solicitud se completará tras la verificación DCV, el certificado será emitido y almacenado de acuerdo con la configuración de la solicitud.
Ves el estado de la solicitud en el registro frente a ti, de este modo puedes resolver fácilmente cualquier problema analizando el registro o enviándoselo al servicio de atención al cliente de SSLmarket.
Los certificados emitidos a través de ACME también aparecerán en tu cuenta SSLmarket al día siguiente y el mes siguiente serán facturados de acuerdo con la lista de precios vigente de la cuenta de cliente.
Otros recursos y documentación
La aplicación SSLmarket para la emisión de certificados a través de ACME integra y utiliza el proyecto simple-acme, incluidos plugins de DNS que integran servicios de terceros. Para referencia sobre el uso de la API de DNS de cada proveedor, recomiendo la página Validación DNS. Cada proveedor tiene una autenticación y configuración diferente, nuestra aplicación la adopta en la configuración (frontend) y la 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ó.