Aller au contenu principal

Installation d'un certificat SSL sur un serveur Tomcat (format PFX)

Vous pouvez installer un certificat SSL sur un serveur Tomcat afin que celui-ci prenne en charge un 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é, veuillez lier un autre port lors de l'installation du certificat.

Obtenir le certificat

  1. Après l'émission du certificat, nous vous remettrons un fichier de certificat compressé (.zip). Le dossier compressé contient quatre sous-dossiers correspondant respectivement à quatre formats de certificat : Tomcat, Nginx, IIS, Apache ; ce document utilise le format PFX pour l'installation, il est donc nécessaire d'utiliser le certificat contenu dans le dossier IIS. (Les différents dossiers ne diffèrent que par le format de fichier ; l'utilisation de fichiers provenant d'un autre dossier n'est pas contradictoire.)
  2. Le dossier IIS contiendra trois fichiers,
  • domain_com.pfx 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.pfx obtenu depuis le répertoire local vers le répertoire /usr/tomcat9.0.13/conf du serveur Tomcat. Le nom du chemin peut légèrement varier selon la version de Tomcat ; veuillez effectuer l'opération en fonction du chemin correspondant à votre service.
  2. Modifiez le fichier server.xml situé 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"
scheme="https"
secure="true"
keystoreFile="/usr/tomcat9.0.13/conf/domain_com.pfx" <! -- Chemin d’accès au certificat -->
keystoreType="PKCS12"
keystorePass="Mot de passe du certificat" <! -- Veuillez le remplacer par le contenu du fichier de mot de passe password.txt -->
clientAuth="false"
SSLProtocol="TLSv1.1+TLSv1.2+TLSv1.3"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,TLS_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA256"/>
  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, la barre d’adresse du navigateur affiche une icône de cadenas ; cliquez dessus pour consulter les informations du certificat.

Effet du certificat SSL

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

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

  1. Modifiez le fichier /usr/tomcat9.0.13/conf situé dans le répertoire web.xml et recherchez la balise </welcome-file-list>.
  2. Ajoutez un saut de ligne après la balise de fermeture </welcome-file-list>, 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" />

4. 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 ne présente aucun problème, redémarrez le serveur Tomcat pour pouvoir accéder au site via le nom de domaine, avec redirection automatique du HTTP vers le HTTPS.
./shutdown.sh  #关闭 Tomcat 服务器
./startup.sh #启动 Tomcat 服务器