IT004 – Cambiar/actualizar certificados SSL en servidores
Actualizar Certificados SSL con Let’s Encrypt en Plesk
Configuración inicial de SSL It!
- Accede al panel de control de Plesk del servidor correspondiente
- En el menú lateral, busca y haz clic en «SSL It!»
- Selecciona la pestaña «Configuración» (o «Settings»)
- Verifica que Let’s Encrypt esté activado como proveedor de certificados changelog para borrar
Actualizar/instalar certificados automáticamente en Plesk
Para dominios individuales
- Accede a Plesk del servidor correspondiente:
- Server Web1: para dominios como okodia.com
- Server Web2: para dominios como iuratum.es, envolvis.es
- Selecciona el dominio que deseas actualizar
- En el panel de control del dominio, ve a «Dashboard» > «SSL/TLS Certificates»
- Haz clic en «Añadir certificado Let’s Encrypt» (o «Add Let’s Encrypt Certificate»)
- Configura las opciones:
- Selecciona los subdominios que deseas incluir en el certificado (si es aplicable)
- Activa la opción «Renovación automática» (normalmente está activada por defecto)
- Verifica que el correo de contacto sea correcto para recibir notificaciones
- Haz clic en «Instalar» o «Obtener» para generar e instalar el certificado
- Vete al panel de dns del dominio (cloudflare, etc) Añade/Modifica el registro txt que suele empezar por ‘_acme. ‘ introduce el valor que te da plesk > Save > Espero al menos 20 segundos para que se efectivo luego ‘Acepta’ en la ventana que ha salido en plesk
- Una vez completado, el sistema mostrará la información del certificado, incluyendo:
- Fecha de emisión
- Fecha de caducidad
- Dominios incluidos
Verificación y solución de problemas
- Para verificar el estado de tus certificados:
- Ve a «Herramientas y Configuración» > «SSL It!» > «Dominios»
- Revisa la columna «Estado» para cada dominio
- Si hay algún problema con la renovación automática:
- Verifica que los registros DNS apunten correctamente al servidor
- Comprueba que el dominio sea accesible públicamente
- Revisa los logs de Let’s Encrypt en Plesk para identificar errores específicos
- Para forzar una renovación manual:
- Selecciona el dominio específico
- Ve a «SSL/TLS Certificates»
- Selecciona el certificado actual de Let’s Encrypt
- Haz clic en «Renovar certificado/Reissue Certificate»
- Install a free basic certificate provided by Let’s Encrypt y vete al paso 5 hasta concluir.
Autorenovación de Let’s Encrypt en Tomcat en Windows Server
Esta sección detalla el proceso completo para implementar certificados SSL gratuitos de Let’s Encrypt con renovación automática en un servidor Tomcat ejecutándose en Windows Server.
Requisitos previos
- Servidor Windows con Tomcat instalado y funcionando
- Acceso administrativo al servidor
- Dominio configurado en Cloudflare (para validación DNS)
- Puertos 80 y 443 configurados correctamente
Instalación y configuración de Win-ACME
Descarga e instalación
- Descargar la última versión de Win-ACME desde la página oficial
- Extraer el contenido del archivo ZIP en C:\win-acme
- Crear la estructura de directorios necesaria:
- mkdir C:\win-acme\scripts
- Descargar plugin cloudflare desde aquí
- Los archivos que se encuentran en lo descargado poner en la misma carpeta C:\win-acme
- Quitar Unblock de cada archivo (derecho del ratón > Security)
Crear script de reinicio para Tomcat
Crear un archivo C:\win-acme\scripts\restart-tomcat.bat con el siguiente contenido:
@echo off
echo Renovación del certificado completada.
echo Certificado: %1
echo Dominio: %2
REM Intentar detener el servicio de Tomcat con tiempo suficiente
echo Deteniendo Tomcat…
net stop «Apache Tomcat 10.1 Tomcat10»
echo Esperando 2 minutos para asegurar que Tomcat se detenga completamente…
timeout /t 120 /nobreak
REM Forzar cierre de procesos Java si es necesario (por si acaso)
echo Verificando si hay procesos Java pendientes…
taskkill /F /IM java.exe /T
timeout /t 10 /nobreak
REM Iniciar el servicio de Tomcat
echo Iniciando Tomcat…
net start «Apache Tomcat 10.1 Tomcat10»
echo Proceso de reinicio de Tomcat completado.
exit /b 0
Nota: Reemplazar «Apache Tomcat X.Y TomcatZ» con el nombre exacto del servicio de Tomcat en tu servidor (ej. «Apache Tomcat 10.1 Tomcat10»).
Obtener token de API de Cloudflare
- Iniciar sesión en la cuenta de Cloudflare (https://dash.cloudflare.com)
- Ir a «Mi perfil» > «API Tokens»
- Hacer clic en «Crear Token»
- Configurar los permisos:
- Zone – DNS – Edit
- Zone – Zone – Read
- En «Zone Resources», seleccionar «Include» – «All zones»
- Crear el token y guardar el valor mostrado
Obtener certificado inicial con Win-ACME
- Ejecutar wacs.exe como administrador desde C:\win-acme
- Seleccionar «M: Create certificate (full options)»
- Elegir «2: Manual input» para la fuente del dominio
- Introducir el nombre de dominio completo (ej. tms.okodia.com)
- Proporcionar un nombre descriptivo (ej. «Tomcat TMS Certificate»)
- Seleccionar «6: [dns] Create verification records in Cloudflare DNS»
- Introducir el token de API de Cloudflare cuando se solicite
- Para el tipo de almacenamiento, seleccionar «3: PFX archive»
- Especificar la ruta: C:\PlunetEncryption
- Introducir una contraseña para el certificado (ej. «123456789»)
- Seleccionar «2: Start external script or program» para la acción post-renovación
- Especificar la ruta al script: C:\win-acme\scripts\restart-tomcat.bat
- Para los parámetros, usar: {CacheFile} {CertCommonName}
- Proporcionar el usuario administrador y password (se encuentran en cloudflare) para la tarea programada
La ejecución es esta:
WIN-ACME
-
- M
- 2
- Host (debe ser nombre no una ip)
- Nombre para el certificado (cualquiera descriptivo)
- 4
- 6 (primero recuerda instalar el plugin para win-acme de cloudflare + token de cloudflare)
- 1
- {pegar token cloudflare}
- Y
- 2
- 3
- C:\PlunetEncryption\
- 2
- 123456789
- Y
- Certsecret
- 5
- 2
- C:\win-acme\Scripts\restart-tomcat.bat
- {CacheFile} {CertCommonName}
- 3
Configuración de Tomcat para usar el certificado
Modificar el archivo server.xml (generalmente ubicado en C:\Program Files\Apache Software Foundation\Tomcat X.Y\conf\) (actualmente 10.1) para incluir el conector HTTPS:
<Connector port=»443″ protocol=»org.apache.coyote.http11.Http11NioProtocol»
maxThreads=»850″
maxHttpHeaderSize=»32768″
processorCache=»850″
compression=»on»
SSLEnabled=»true»
server=»Server»
scheme=»https»
secure=»true»
>
<SSLHostConfig>
<Certificate
protocols=»TLSv1.2,TLSv1.3″
ciphers=»TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256,TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384,TLS_AES_256_GCM_SHA384,TLS_AES_128_GCM_SHA256″
certificateKeystoreFile=»C:\PlunetEncryption\tudominio.pfx»
certificateKeystorePassword=»123456789″
certificateKeystoreType=»PKCS12″
/>
</SSLHostConfig>
</Connector>
Nota: Reemplazar «tudominio.pfx» con el nombre real del archivo generado (ej. «tms.okodia.com.pfx»).
Verificación y reinicio de Tomcat
- Guardar los cambios en el archivo server.xml
- Reiniciar el servicio de Tomcat ejecutando script
- Verificar el acceso HTTPS a tu dominio
- Verificar la validez del certificado desde el navegador
Configuración de la tarea programada para renovación automática
Win-ACME intenta crear una tarea programada automáticamente, pero si falló, puedes crearla manualmente:
- Abrir el Programador de tareas (taskschd.msc)
- Crear una nueva tarea básica:
- Nombre: win-acme renew
- Descripción: Renovación automática de certificados Let’s Encrypt
- Desencadenador: Diario, a las 3:13 AM (o cualquier hora fuera del horario laboral)
- Acción: Iniciar un programa
- Programa: C:\win-acme\wacs.exe
- Argumentos: –renew –baseuri «https://acme-v02.api.letsencrypt.org/»
- Iniciar en: C:\win-acme
- Configurar opciones avanzadas:
- Ejecutar con privilegios más altos
- Ejecutar la tarea lo antes posible después de no iniciarse en la programación
- Configurar para que se ejecute con la cuenta de Administrador
Verificación del proceso automático
El proceso automático de renovación funciona de la siguiente manera:
- La tarea programada se ejecuta diariamente a la hora configurada
- Win-ACME verifica si hay certificados que necesiten renovación
- Los certificados solo se renuevan cuando faltan menos de 30 días para su caducidad
- Cuando ocurre una renovación, Win-ACME:
- Obtiene un nuevo certificado a través de validación DNS con Cloudflare
- Guarda el certificado en la ubicación configurada
- Ejecuta el script de reinicio de Tomcat
- Todo esto ocurre automáticamente, sin intervención manual
Notas adicionales
- Los certificados de Let’s Encrypt tienen una validez de 90 días
- La renovación automática generalmente ocurre 30 días antes de la caducidad
- La tarea programada ejecuta la verificación diariamente, pero solo renueva y reinicia cuando es necesario
- El token de API de Cloudflare debe mantenerse válido para que la renovación automática funcione
- Puedes verificar manualmente el estado ejecutando wacs.exe –renew
Este procedimiento proporciona una solución completa de SSL con Let’s Encrypt para Tomcat en Windows Server, con renovación totalmente automatizada a través de validación DNS con Cloudflare.
Método manual (antiguo)
Esta información se mantiene documentada por si hubiera que volver a realizarlo de este modo en algún momento.
Usando Namecheap
- Crear el CSR. Para ello se pueden usar diferentes métodos, por ejemplo la web CSR Generator. En cualquier caso, deben seguirse las instrucciones que ofrece Namecheap.
- El contenido del .csr generado serán los datos que se pedirán. Mantén el .key a mano, lo vamos a necesitar.
- Te devolverán un .zip con (o en su defecto) tres archivos:
- nombre.crt
- nombre.ca-bundle
- nombre.p7b
Mételo todo en la misma carpeta
Dominios en Serverweb1 y Serverweb2
- Acceder a Plesk del respectivo server
- Selecciona el dominio:
- Server Web1: okodia.com
- Server Web2: iuratum.es | envolvis.es
- Dentro del dominio Dashboard > SSL/TLS certificates > Advanced Settings > Add SSL/TLS certificate’.
- Añade un nombre en Certificate name (Procura que sea algo descriptivo)
- En Upload the certificate files añade los tres archivos; nombre.key, nombre.crt, nombre.ca-bundle
- Haz click en ‘Upload Certificate’
- Una vez subido, ya tenemos el certificado cargado en plesk, ahora iremos al dominio ‘Hosting&DNS > Hosting’ en el menú que aparece a la izquierda en la sección SSL/TLS Support en el desplegable llamado ‘Certificate’ seleccionamos el nombre del nuevo certificado que acabamos de subir.
- Salvamos ‘Save’
- Podemos ir a ‘Dashboard > SSL/TLS certificates’ para comprobar la información de los datos del certificado aplicado a nuestro dominio.
Dominio tms.okodia.com
- Crear un snapshot en el server «Plunet-Studio (TMS) – new«
- Acceder a https://decoder.link/converter y seleccionar la opcion ‘PEM TO PKCS#12’. Cargar los archivos correspondientes al igual que en el server PLESK (sugerible añadir un password [luego hará falta, así que anotar])
- Descargar, descomprimir y renombrar el contenido del .zip
- Conectar con Server Windows usando los datos de «Plunet-Studio (TMS) – new«, para ello:
- Windows+R
- «mstsc»
- Usa la ip proporcionada
- Usa «./administrador»
- Usa password proporcionado
- Abrir/Crea carpeta «tmp» en C:
- Copia en el pc master y pega en el remoto el archivo .pfx extraído del zip dentro de la carpeta creada «C:/tmp»
- Hacemos click con el botón derecho sobre el logo de inicio (logo Windows) y seleccionamos ‘task manager > servicios’ buscamos por Tomcat el que este ‘running’, de esta manera nos aseguramos que versión de Tomcat esta corriendo y deberemos reiniciar posteriormente
- Ahora nos vamos a la carpeta ‘java’ dentro de ‘program files’
- Entramos en ‘jdk-17.0.11+9 > bin’
- En la barra de navegación escribimos ‘cmd ’ (con el espacio) Antes de ‘C:/progr…’ , damos a enter y se abrirá el terminal
- Ejecutaremos ‘keytool -importkeystore -srckeystore C:\tmp\certificado.pfx -srcstoretype pkcs12 -destkeystore C:\tmp\keystore.jks -deststoretype JKS’
- Cuando lo pida introduce la misma contraseña de antes las veces que la pida (tres veces)
- Entramos en la carpeta ‘Apache …’ dentro de «C:\Program Files» o «C:\Program Files (x86)» (está en una de las dos)
- Iremos a ‘Tomcat (versión que vimos antes en ‘running’) > conf’
- Copiamos ‘server.xml’ y pegamos (se pegará renombrado para tener backup)
- Editamos ‘server.xml’ y buscaremos: ‘<Connector port=»443″ protocol=»org.apache.coyote.http11.Http11NioProtocol» SSLEnabled=»true» scheme=»https» secure=»true» keystoreFile=»ruta\al\.pfx\actual» keystorePass=»contraseña » clientAuth=»false» sslProtocol=»TLS»/>’
- Volvemos al ‘Task Manager’ localizamos la versión del Tomcat que este ‘running’ botón derecho ‘Restart’ esperamos unos Minutos, si no reinicia (es lo mas normal) y se ha quedado en ‘Stopped’ haremos click encima con el botón derecho y seleccionaremos ‘start’, esperamos unos minutos.
- Se puede comprobar en ‘okodia.com/trabaja-con-nosotros’ si se obtiene la imagen del captcha.
Dominio groupshare.okodia.com
- Crear un snapshot en el server «Groupshare-Projetex«
- Acceder a https://decoder.link/converter y seleccionar la opcion ‘PEM TO PKCS#12’. Cargar los archivos correspondientes al igual que en el server PLESK (sugerible añadir un password [luego hará falta, así que anotar])
- Descargar, descomprimir y renombrar el contenido del .zip
- Conectar con Server Windows usando los datos de Groupshare-Projetex, para ello:
- Windows+R
- «mstsc»
- Usa la ip proporcionada
- Usa «./administrador»
- Usa password proporcionado
- Abrir/Crea carpeta «tmp» en C:
- Copia en el pc master y pega en el remoto el archivo .pfx extraído del zip dentro de la carpeta creada «C:/tmp»
- Hacemos click en logo de windows (inicio) y seleccionamos Server Manager
- Hacemos click en la tercera ventana IIS
- En el primer recuadro veremos SERVER-TRADOS 85.208.21.8 … hacemos click con el boton derecho sobre esa linea
- Seleccionamos Internet Information Services (IIS) Manager
- En la columna de la izquierda seleccionamos SERVER-TRADOS
- Seleccionamos Server Certificates (3ª linea)
- Seleccionamos importar
- Importamos el pfx, introducimos la contraseña para Web Hosting Y tambien
- Importamos el pfx, introducimos la contraseña para personal
- Hacemos click en la columna de la izquierda en ‘Sites’ -> SDL Server
- En la columna de la derecha seleccionamos ‘Bindings’
- Seleccionamos la linea https -> Editar -> Select
- Seleccionamos el certificado importado concretamente el ‘Personal’
- Le damos a OK
- Volvemos a seleccionar en la columna de la izquierda SERVER-TRADOS
- En la columna de la derecha seleccionamos ‘Restart’
- Esperamos a que reinicie (restart se vuelve a poner activo)
Usando Plesk + Cloudfare
- Accedemos al Plesk correspondiente al servidor que contenga el dominio que queremos asegurar.
- Seleccionamos el dominio ‘Dashboard > SSL/TLS Certificates’ aquí si:
- Es nuevo ‘Install free certificate’
- Estamos actualizando ‘Reissue certificate > Install free certificate’
- Seleccionamos ‘Secure the wildcard domain (including www and webmail)’
- Hacemos click ‘Get it free’
- Nos llevará a un pantalla donde nos dará cierta información; Record type, Domain name, Record. No haremos click en ‘Continue’ por ahora.
- Ahora deberemos ir a ‘CloudFlare > DNS’ del dominio que queramos certificar.
- En la sección ‘Records’ haremos click ‘Add record’ y usaremos los datos dados anteriormente, es decir crearemos un registro:
- Type: Record type
- Name: Domain name
- Content: Record
- Hacemos click en ‘Save’ y esperamos al menos 30seg
- Volvemos a la pantalla de Plesk pasados el tiempo de espera
- Haremos click en ‘Continue’ y se concluye el proceso.
Usando Plesk + Cualquier gestor DNS
- Accedemos al Plesk correspondiente al servidor que contenga el dominio que queremos asegurar.
- Seleccionamos el dominio ‘Dashboard > SSL/TLS Certificates’ aquí si:
- Es nuevo ‘Install free certificate’
- Estamos actualizando ‘Reissue certificate > Install free certificate’
- Seleccionamos ‘Secure the wildcard domain (including www and webmail)’
- Hacemos click ‘Get it free’
- Nos llevará a un pantalla donde nos dará cierta información; Record type, Domain name, Record. No haremos click en ‘Continue’ por ahora.
- Ahora deberemos ir al ‘Gestor DNS > DNS’ del dominio que queramos certificar.
- En la sección ‘Records/Registros’ haremos click ‘Add/Añadoir record/registro’ y usaremos los datos dados anteriormente, es decir crearemos un registro:
- Type: Record type
- Name: Domain name
- Content: Record
- Hacemos click en ‘Save/Guardar’ y esperamos al menos 30seg
- Volvemos a la pantalla de Plesk pasados el tiempo de espera
- Haremos click en ‘Continue’ y se concluye el proceso.