Logo ID Digital

Cómo instalar certificados SSL en Tomcat

Guía técnica para generar el CSR con keytool, importar el certificado y configurar el conector HTTPS de Tomcat usando un almacén JKS.

Introducción

Este manual explica cómo instalar un certificado SSL en un servidor Tomcat utilizando un almacén de claves JKS y la herramienta keytool. Incluye la generación del CSR, la instalación del certificado y la configuración del conector HTTPS en server.xml.


Requisitos

Antes de comenzar, necesitás:

  • Un servidor Tomcat instalado y funcionando.
  • Acceso por consola al servidor (shell / terminal).
  • Permisos para editar los archivos de configuración de Tomcat.
  • La ruta al home de Tomcat ($TOMCAT_HOME) y al directorio donde se guarda la configuración del dominio.

El almacén de certificados (.jks) se crea normalmente en una carpeta de configuración, por ejemplo:

$TOMCAT_HOME/appserver/domains/MiDominio/config/


1. Crear el almacén JKS y el CSR con keytool

El CSR (Certificate Signing Request) es el archivo que se envía a la Autoridad Certificadora para emitir el certificado SSL.

1.1 Crear el almacén JKS

Desde la consola, ubicáte en la carpeta donde querés crear el almacén de certificados y ejecutá:

keytool -genkey \
  -alias midominio \
  -keyalg RSA \
  -keystore almacen.jks \
  -keysize 2048
  • alias: nombre interno de la clave privada dentro del almacén (por ejemplo midominio).
  • almacen.jks: nombre del archivo donde se guardarán las claves y el certificado.

Importante: no sobrescribas este .jks. Si se pierde, también se pierde la clave privada asociada.

El sistema te pedirá:

  • Una contraseña para el almacén.
  • Datos de la organización:
    • First and Last Name: dominio en formato FQDN (por ejemplo midominio.com o *.midominio.com si es wildcard).
    • Organizational Unit (OU): área que solicita el certificado (por ejemplo “Departamento de Informática”).
    • Organization (O): razón social registrada en DGI.
    • City/Locality, State/Province, Country Code (para Uruguay: UY).

1.2 Generar el CSR

Con el almacén ya creado, generá el archivo CSR que enviarás para la emisión del certificado:

keytool -certreq \
  -alias midominio \
  -keystore almacen.jks \
  -file midominio.csr

Se te pedirá la contraseña del almacén. Al finalizar, en la misma carpeta aparecerá el archivo midominio.csr.


2. Solicitar el certificado

  1. Enviá el archivo midominio.csr a ID Digital siguiendo el procedimiento indicado para tu tipo de certificado (DV, OV o EV).
  2. Una vez validada la información, la Autoridad Certificadora emitirá el certificado SSL y te llegará un correo electrónico con el enlace de descarga.

Con ese correo vas a obtener tanto el certificado del dominio como el bundle de la cadena de certificación.


3. Instalar el certificado en el almacén JKS

3.1 Descargar el certificado del sitio

Desde el enlace del mail:

  1. Descargá el certificado del dominio en formato texto plano (.pem).

  2. Renombrá el archivo a:

    certificado.pem

3.2 Descargar el bundle de la cadena

Además del certificado del dominio, tenés que descargar el bundle correspondiente al tipo de certificado que tramitaste:

  • Para certificados DV: usar el bundle DV.
  • Para certificados OV: usar el bundle OV.
  • Para certificados EV: usar el bundle EV.

Renombrá el archivo que descargues a:

bundle.pem

Colocá certificado.pem y bundle.pem en la misma carpeta donde está almacen.jks.

3.3 Importar el bundle en el almacén

Ubicado en esa carpeta, importá primero el bundle (cadena intermedia/raíz) en el JKS:

keytool -import \
  -alias bundle \
  -file bundle.pem \
  -keystore almacen.jks

Se te pedirá la contraseña del almacén.

3.4 Importar el certificado del sitio

Luego importá el certificado emitido para el dominio:

keytool -import \
  -alias certificado \
  -file certificado.pem \
  -keystore almacen.jks

Al terminar estos pasos, el almacén almacen.jks contiene:

  • La clave privada (creada al inicio).
  • El certificado del dominio.
  • La cadena de certificación (bundle).

4. Configuración de Tomcat (server.xml)

Ahora tenés que indicarle a Tomcat dónde está el almacén de certificados para que pueda levantar HTTPS.

4.1 Ubicar el archivo de configuración

  1. Abrí tu editor de texto preferido.
  2. Localizá el archivo:

$TOMCAT_HOME/conf/server.xml

(la ruta exacta puede variar según tu instalación).


4.2 Editar el conector HTTPS

Dentro de server.xml, buscá el Connector que se usa para SSL (puede estar comentado). En versiones actuales de Tomcat suele verse similar a esto:

<Connector
    port="8443"
    protocol="org.apache.coyote.http11.Http11NioProtocol"
    maxThreads="150"
    SSLEnabled="true"
    scheme="https"
    secure="true"
    clientAuth="false"
    keystoreFile="/ruta/completa/almacen.jks"
    keystorePass="TU_CONTRASEÑA"
    keyAlias="midominio" />

Ajustá:

  • keystoreFile: ruta absoluta al archivo almacen.jks.
  • keystorePass: contraseña del almacén.
  • keyAlias: el alias utilizado al crear la clave (midominio).
  • port: el puerto HTTPS (habitualmente 8443 o 443).

Guardá los cambios en server.xml.


4.3 Reiniciar el servicio Tomcat

Reiniciá Tomcat para que tome la nueva configuración, por ejemplo:

service tomcat restart

(o el comando equivalente en tu entorno).


5. Verificación del sitio

  1. Abrí un navegador y accedé a tu aplicación usando https y el puerto configurado, por ejemplo:

    • https://midominio.com/
    • https://midominio.com:8443/
  2. Verificá que:

    • El navegador indica que la conexión es segura.
    • El certificado se muestra como emitido por la autoridad correspondiente.
    • No aparecen advertencias de certificado no confiable.

Si todo es correcto, tu servidor Tomcat ya está funcionando con SSL.


Recomendaciones finales

  • Guardá siempre una copia de respaldo del almacén almacen.jks en un lugar seguro.
  • Documentá la contraseña utilizada y resguardala según las políticas de seguridad de tu organización.
  • Para futuras renovaciones, podés reutilizar el mismo almacén y repetir sólo los pasos de CSR e instalación del nuevo certificado.
  • Ante errores de inicio de Tomcat relacionados con SSL, revisá los mensajes en los logs y confirmá que keystoreFile, keystorePass y keyAlias sean correctos.

Recursos