Saltar al contenido principal

Instalación de certificado SSL en servidor Tomcat (formato JKS)

Puede instalar el certificado SSL en el servidor Tomcat para que este admita acceso seguro HTTPS. Este artículo describe cómo instalar un certificado SSL en el servidor Tomcat.

Nota

En este documento se utiliza como ejemplo la versión tomcat9.0.13 de Tomcat. Antes de la instalación, confirme que el puerto 443 no esté ocupado. Si el puerto 443 ya está en uso, vincule otro puerto al instalar el certificado.

Obtener el certificado

  1. Después de que le emitamos el certificado, le entregaremos un archivo de certificado (.zip) comprimido. El paquete comprimido contiene cuatro carpetas correspondientes a cuatro formatos de certificado: Tomcat, Nginx, IIS, Apache. En este documento se utiliza el formato JKS para la instalación, usando el certificado dentro de la carpeta Tomcat.

  2. La carpeta Tomcat contendrá tres archivos:

  • domain_com.jks archivo de certificado
  • domain_com.key archivo de clave privada
  • password.txt archivo de contraseña del certificado

Instalar el certificado SSL

  1. Copie el archivo de certificado domain_com.jks que obtuvo desde su directorio local al directorio /usr/tomcat9.0.13/conf del servidor Tomcat.
  • Los nombres de ruta de las distintas versiones de Tomcat pueden variar ligeramente; realice la operación en la ruta correspondiente a su servicio.
  • Si la versión del JDK de algunos usuarios difiere de la versión del JDK del entorno en el que convertimos el archivo JKS, es posible que deban convertir manualmente el archivo JKS en el entorno de uso actual.

Consulte el siguiente comando para convertir el archivo JKS y preste atención a reemplazar los parámetros correspondientes:

keytool -importkeystore -srckeystore domain.pfx -srcstoretype pkcs12 -srcstorepass pfxpassword -destkeystore domain.jks -deststoretype jks -deststorepass pfxpassword

Reemplace domain.pfx (archivo pfx en la carpeta IIS) pfxpassword (contraseña del archivo pfx) domain.jks (nombre del archivo jks después de la conversión) pfxpassword (contraseña del archivo PFX)

  1. Edite el archivo server.xml en el directorio /usr/tomcat9.0.13/conf. Agregue el atributo Connector en el archivo server.xml, con el siguiente contenido:
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="/usr/tomcat9.0.13/conf/domain_com.pfx" <! -- Ruta del certificado -->
keystorePass="Contraseña del certificado" <! -- Reemplace con el contenido del archivo de contraseña password.txt -->
clientAuth="false"/>
  1. Guarde el archivo de configuración y ejecute el siguiente comando en el directorio bin para confirmar que la configuración es correcta.
./configtest.sh
  1. Reinicie Tomcat; ejecute el siguiente comando en el directorio bin:
./shutdown.sh  #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器

Probar el certificado SSL

Introduzca en la barra de direcciones del navegador el dominio vinculado al certificado SSL para comprobar si su certificado SSL se ha instalado correctamente. Si es así, la barra de direcciones del navegador mostrará un icono de candado de seguridad; haga clic en él para ver la información del certificado.

Efecto del certificado SSL

Configuración de seguridad para la redirección automática de HTTP a HTTPS (opcional)

Si necesita redirigir automáticamente las solicitudes HTTP a HTTPS, puede configurarlo mediante las siguientes operaciones:

  1. Edite el archivo /usr/tomcat9.0.13/conf que se encuentra en el directorio web.xml y localice la etiqueta </welcome-file-list>.
  2. Añada un salto de línea después de la etiqueta de cierre </welcome-file-list> y agregue el siguiente contenido.
<login-config>  
<!-- Authorization setting for SSL -->
<auth-method>CLIENT-CERT</auth-method>
<realm-name>Client Cert Users-only Area</realm-name>
</login-config>
<security-constraint>
<!-- Authorization setting for SSL -->
<web-resource-collection >
<web-resource-name >SSL</web-resource-name>
<url-pattern>/*</url-pattern>
</web-resource-collection>
<user-data-constraint>
<transport-guarantee>CONFIDENTIAL</transport-guarantee>
</user-data-constraint>
</security-constraint>
  1. Edite el archivo server.xml en el directorio /usr/tomcat9.0.13/conf y cambie el parámetro redirectPort al puerto connector de SSL, es decir, el puerto 443. Como se muestra a continuación:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
  1. Guarde el archivo de configuración y ejecute el siguiente comando en el directorio bin para confirmar que la configuración sea correcta.
./configtest.sh
  1. Si la configuración es correcta, reinicie el servidor Tomcat para poder acceder mediante el dominio y lograr la redirección automática de HTTP a HTTPS.
./shutdown.sh  #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器