Installer un certificat gratuit auto-signé ou Let’s Encrypt sur Tomcat

Installation de certificat  SSL auto-signé ou Let’s Encrypt sur Tomcat linux ubuntu debian redhat

L’installation d’un certificat auto-signé ou d’un certificat Let’s Encrypt sur Tomcat est une étape nécessaire pour permettre la communication HTTPS entre un client et un serveur Tomcat. Ce guide vous guidera pas à pas dans l’installation d’un certificat auto-signé ou d’un certificat Let’s Encrypt sur Tomcat.

Conditions préalables

  • Java installé sur votre serveur
  • Tomcat installé sur votre serveur
  • Certbot installé sur votre serveur (uniquement pour l’installation des certificats Let’s Encrypt)

Générer un certificat auto-signé

Pour générer un certificat auto-signé, nous utiliserons la commande keytool fournie avec Java. La commande suivante génère un certificat auto-signé et le stocke dans un fichier nommé “tomcat.keystore”.

$ keytool -genkey -alias tomcat -keyalg RSA -keystore tomcat.keystore

Lorsque vous y êtes invité, fournissez les informations suivantes :

  • keystore password : Un mot de passe pour protéger le fichier keystore.
  • prénom et nom : Le nom de domaine de votre serveur.
  • unité organisationnelle : Nom de votre organisation.
  • organisation : Le nom de votre organisation.
  • ville : Le nom de votre ville.
  • l’État : Nom de l’État ou de la province.
  • code pays : Le code à deux lettres de votre pays.

Configurer Tomcat pour qu’il utilise le magasin de clés

Une fois le keystore généré, nous devons configurer Tomcat pour qu’il l’utilise. Pour ce faire, nous devons modifier le fichier “server.xml” situé dans le répertoire “conf” de votre installation Tomcat.

Localisez la section suivante :

<Connector port="8080" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />

Ajoutez la configuration suivante sous l’élément “Connecteur” :

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="path/to/tomcat.keystore"
           keystorePass="password" />

Veillez à remplacer “path/to/tomcat.keystore” par le chemin réel de votre fichier keystore et “password” par le mot de passe keystore que vous avez fourni précédemment.

Tester le certificat auto-signé

Maintenant que nous avons configuré Tomcat pour qu’il utilise le certificat auto-signé, nous pouvons le tester en accédant au serveur Tomcat via HTTPS. Ouvrez un navigateur web et entrez l’URL suivante :

https://localhost:8443

Si tout est configuré correctement, vous devriez voir un avertissement indiquant que le certificat n’est pas fiable. En effet, le certificat auto-signé n’est pas fiable par défaut. Vous pouvez accéder au site web en cliquant sur “Avancé”, puis sur “Accéder à l’hôte local (non sécurisé)”.

Générer un certificat Let’s Encrypt

Pour générer un certificat Let’s Encrypt, nous utiliserons l’outil Certbot. Certbot est un logiciel libre et gratuit qui permet de renouveler et d’installer automatiquement les certificats SSL/TLS de Let’s Encrypt. Vous pouvez télécharger Certbot sur son site officiel.

Une fois Certbot installé, exécutez la commande suivante pour générer un certificat Let’s Encrypt :

$ certbot certonly --webroot -w /path/to/webroot -d example.com

Remplacez “/path/to/webroot” par le chemin réel de votre répertoire Tomcat webroot et “example.com” par votre nom de domaine.

Configurer Tomcat pour utiliser le certificat Let’s Encrypt

Maintenant que nous avons généré le certificat Let’s Encrypt, nous devons configurer Tomcat pour qu’il l’utilise. Pour ce faire, nous utiliserons les commandes suivantes :

Pour copier le certificat SSL et les fichiers de clé privée dans le répertoire /opt/tomcat/conf, suivez ces étapes :

  1. Ouvrez un terminal.
  2. Exécutez la commande suivante :
$ sudo cp /etc/letsencrypt/live/example.com/{cert,chain,privkey}.pem /opt/tomcat/conf/

Remplacez “example.com” par votre nom de domaine.

Ensuite, éditez le fichier server.xml situé dans le répertoire d’accueil de Tomcat (/opt/tomcat/conf dans ce cas). Pour ce faire, exécutez la commande suivante :

$ sudo nano /opt/tomcat/conf/server.xml

Dans le fichier server.xml, localisez la section que vous voulez modifier et faites les changements nécessaires. Décommentez la section en supprimant les balises <!-- et --> et ajoutez les détails du certificat comme indiqué ci-dessous :

<Connector port="8443" protocol="HTTP/1.1" maxThreads="150" SSLEnabled="true">
     <SSLHostConfig>
          <Certificate certificateFile="conf/cert.pem"
             certificateKeyFile="conf/privkey.pem"
             certificateChainFile="conf/chain.pem" />
     </SSLHostConfig>
</Connector>

Enregistrez les modifications et quittez l’éditeur.

Tester le certificat Let’s Encrypt

Maintenant que nous avons configuré Tomcat pour utiliser le certificat Let’s Encrypt, nous pouvons le tester en accédant au serveur Tomcat via HTTPS. Ouvrez un navigateur web et entrez l’URL suivante :

https://example.com:8443

Remplacez “exemple.com” par votre nom de domaine réel.

Si tout est configuré correctement, vous devriez voir une icône de cadenas vert dans la barre d’adresse de votre navigateur web, indiquant que le certificat est fiable. Vous pouvez cliquer sur l’icône du cadenas pour afficher les détails du certificat.

Conclusion

Dans ce guide, nous vous avons guidé pas à pas dans le processus d’installation d’un certificat auto-signé ou d’un certificat Let’s Encrypt sur Tomcat. La communication HTTPS est essentielle pour sécuriser la transmission de données entre un client et un serveur, et il est important de s’assurer que votre serveur Tomcat utilise un certificat SSL/TLS valide.

Laisser un commentaire