Aller au contenu principal

Installation d’un certificat SSL sur un serveur Tomcat (format JKS)

Vous pouvez installer un certificat SSL sur un serveur Tomcat afin de permettre à ce serveur Tomcat de prendre en charge l’accès sécurisé HTTPS. Cet article explique comment installer un certificat SSL sur un serveur Tomcat.

Remarque

Dans ce document, la version de Tomcat utilisée comme exemple est tomcat9.0.13. Avant l’installation, veuillez confirmer que le port 443 n’est pas occupé. Si le port 443 est déjà utilisé, liez un autre port lors de l’installation du certificat.

Obtenir le certificat

  1. Une fois le certificat émis pour vous, nous vous remettrons un fichier de certificat (.zip) compressé. L’archive compressée contient quatre dossiers correspondant à quatre formats de certificat : Tomcat, Nginx, IIS, Apache. Ce document utilise le format JKS pour l’installation ; utilisez le certificat contenu dans le dossier Tomcat.

  2. Le dossier Tomcat contiendra trois fichiers :

  • domain_com.jks fichier de certificat
  • domain_com.key fichier de clé privée
  • password.txt fichier de mot de passe du certificat

Installer le certificat SSL

  1. Copiez le fichier de certificat domain_com.jks déjà obtenu depuis le répertoire local vers le répertoire /usr/tomcat9.0.13/conf du serveur Tomcat.
  • Selon les versions de Tomcat, le nom du chemin peut varier légèrement. Veuillez effectuer l’opération dans le chemin correspondant à votre service.
  • Si la version du JDK de certains utilisateurs diffère de celle de l’environnement dans lequel nous avons converti le fichier JKS, il peut être nécessaire de convertir manuellement le fichier JKS dans l’environnement actuellement utilisé.

Veuillez vous référer à la commande ci-dessous pour convertir le fichier JKS, en prenant soin de remplacer les paramètres correspondants :

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

Veuillez remplacer domain.pfx (fichier pfx dans le dossier IIS) pfxpassword (mot de passe du fichier pfx) domain.jks (nom du fichier jks converti) pfxpassword (mot de passe du fichier PFX)

  1. Modifiez le fichier server.xml dans le répertoire /usr/tomcat9.0.13/conf. Ajoutez l’attribut Connector dans le fichier server.xml, avec le contenu suivant :
<Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
keystoreFile="/usr/tomcat9.0.13/conf/domain_com.pfx" <! -- Chemin du certificat -->
keystorePass="Mot de passe du certificat" <! -- Veuillez le remplacer par le contenu du fichier de mot de passe password.txt -->
clientAuth="false"/>
  1. Enregistrez le fichier de configuration, puis exécutez la commande suivante dans le répertoire bin pour vérifier que la configuration est correcte.
./configtest.sh
  1. Redémarrez Tomcat et exécutez la commande suivante dans le répertoire bin :
./shutdown.sh  #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器

Tester le certificat SSL

Saisissez le nom de domaine lié au certificat SSL dans la barre d’adresse du navigateur pour vérifier si votre certificat SSL est correctement installé. En cas de succès, un cadenas apparaît dans la barre d’adresse ; cliquez dessus pour consulter les informations du certificat.

Effet du certificat SSL

Configuration de sécurité pour la redirection automatique HTTP vers HTTPS (optionnel)

Si vous souhaitez rediriger automatiquement les requêtes HTTP vers HTTPS, procédez comme suit :

  1. Modifiez le fichier /usr/tomcat9.0.13/conf dans le répertoire web.xml, puis repérez la balise </welcome-file-list>.
  2. Après la balise de fin </welcome-file-list>, ajoutez une nouvelle ligne, puis insérez le contenu suivant.
<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. Modifiez le fichier server.xml dans le répertoire /usr/tomcat9.0.13/conf, et changez le paramètre redirectPort pour le port connector de SSL, c'est-à-dire le port 443. Comme indiqué ci-dessous:
<Connector port="80" protocol="HTTP/1.1"
connectionTimeout="20000"
redirectPort="443" />
  1. Enregistrez le fichier de configuration, puis exécutez la commande suivante dans le répertoire bin pour vérifier que la configuration est correcte.
./configtest.sh
  1. Si la configuration est correcte, redémarrez simplement le serveur Tomcat pour accéder via le nom de domaine, avec redirection automatique de HTTP vers HTTPS.
./shutdown.sh  #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器