ICM / seguridadtitle_li=windows / Let’s encrypt en Windows: certbot y Certify

Let’s encrypt en Windows: certbot y Certify

15 junio 2022 | Marc Carbó

Generar certificados Let’s encrypt en Windows, es tarea ardua, por ello hemos pensado en esta guía para facilitaros el camino.

Let’s Encrypt (lo llamaremos LE a lo largo de la entrada) es una entidad certificadora que lleva vigente desde el 14 de noviembre del 2015, día en que emitió el primer certificado. Emitir un certificado con LE es muy sencillo si usas un sistema basado en Linux, pero si usamos un sistema Windows es mucho más difícil. En esta entrada veremos cómo generar certificados LE en sistemas Windows usando un cliente ACME gratuito llamada Certify the Web. No es el único que existe, en el siguiente link os dejamos el listado completo de clientes ACME que soportan LE.

Usaremos como sistema Windows un Windows Server 2022 para la siguiente guía. Comenzaremos con la instalación del role IIS de Windows. Una vez se haya abierto la ventana de “Server Manager” vamos a la opción “Add Roles and Features” como vemos en la captura siguiente:

Nos aparecerá una ventana emergente la cual tenemos que dar a siguiente dejando la configuración por defecto hasta llegar a “Server Roles” y seleccionamos la opción “Web Server (IIS)” como se indica en la captura:

Nos aparecerá una ventana emergente nueva que nos indicará que hemos de añadir una característica para dicho role. Clicamos en “Add feature”:

Podemos hacer clic en las siguientes opciones hasta llegar a “Confirmation” donde haremos clic en “install”:

Una vez se haya instalado el role IIS podemos comenzar con la instalación del software certify que podemos descargar desde este link.

Certify

Aceptamos las “condiciones de uso” y hacemos “Next”.

Certify Setup

En nuestro caso lo instalaremos en el path por defecto que nos ofrece el instalador. Puedes modificarlo a tu gusto. Hacemos clic a “Next” dejando las opciones por defecto hasta que se instale y podamos arrancar el programa:

Ya tenemos el Role IIS y el Certify instalado nos queda generar el site en el propio “IIS manager”. Lo podemos encontrar escribiéndolo en el buscador de Windows o bien desde la opción “Tools” del “Server manager”.

Hacemos clic en el botón izquierdo del mouse sobre “Site” y clicamos sobre “Add website”:

Añadimos el nombre del site (en nuestro caso usamos el nombre del dominio), el “physical path” usaremos el que se genera al instalar el role IIS y añadiremos el “host name” este debe ser el nombre del dominio.

Ahora ya lo tenemos generado y solo nos queda dar de alta el dominio en los DNS en caso de que no lo hayamos hecho ya.

Volvemos de nuevo al “Certify” para comenzar con la generación del certificado letsencrypt. Hacemos clic en “New Certificate” y nos aparecerá el siguiente mensaje:

Damos al “OK” y nos llevará a la ventana siguiente:

Let's encrypt

Añadimos un correo electrónico para que el programa nos avise de las renovaciones que ha realizado. Una vez introducida clicamos “Register Contact”.

Let's encrypt Setup

Seleccionamos el desplegable que nos muestra los sites que tenemos generados en el IIS manager y elegimos el que nos interesa, en nuestro caso “lab25557441.preproduccion.com”.

Let's encrypt setup Windows

Hacemos clic en la opción “Request Certificate”. Si todo es correcto nos aparecerá el mensaje siguiente:

Let's encrypt

Si volvemos a “Managed Certificates” podemos ver que el certificado nos aparece en el lado izquierdo con los días de validez:

Let's encrypt

Este gestor también nos ha generado el binding del puerto 443 sobre el site que le hemos especificado y le ha vinculado el certificado que ha generado.

Si accedemos a https://lab25557441.preproduccion.com podemos ver que está securizado:

Siguiendo el proceso que hemos planteado en el tutorial tendremos a nuestra disposición un máximo de 5 certificados debido a la versión gratuita.

Como habéis podido comprobar este gestor es muy sencillo de instalar y es muy intuitivo lo que permite que usuarios no técnicos puedan llevar a cabo la generación de certificados sin preocuparse de la renovación de estos.

Bonus Tips Podemos cambiar configuraciones como, por ejemplo, el intervalo de tiempo que espera en hacer la renovación del certificado. Por defecto está opción le indica al certify que renueve el certificado cada 30 días. Para ver estás configuraciones nos dirigiremos a la pestaña “Settings

Let's encrypt en Windows

Por otro lado, si vamos al propio certificado y hacemos clic en “Authorization” podremos cambiar el tipo de “challenge” que hace e incluso el “root path” que deberá usar. El challenge puede ser “http-01”, validación directa contra el dominio o bien “dns-01”, validación contra los DNS.

Letsencrypt en Windows
Let’s encrypt en Windows: certbot y Certify