Intégrer un certificat Wildcard sur un JBoss

Afin d’utiliser une connexion SSL vers un serveur JBoss et voulant utiliser un certificat Wildcard de domaine (exemple : *.infonix.eu) voici comment procéder.

PS : Le seul format fonctionnant avec les manipulations est le format P12. Les fichiers PFX et PKCS12 remontent des erreurs de type 45 et 66 lors de l’import.

Pour pouvoir utiliser les commandes (notamment « keytool ») sans avoir à naviguer dans les répertoires voici un chemin à ajouter :

set PATH="Chemin vers les binaires JAVA";%PATH%
Aussi, pour pouvoir utiliser « openssl », vous pouvez télécharger le package light sur ce site.


1 – Télécharger votre certificat au format PEM depuis votre autorité de certification

2 – Générer le fichier CRT depuis le fichier précédemment téléchargé

openssl x509 -in infonix.eu.pem -out infonix.eu.crt

3 – Générer le fichier KEY depuis le même fichier PEM

openssl pkey -in infonix.eu.pem -out infonix.eu.key

4 – Il vous faudra générer un fichier PKCS12 et indiquer le même mot de passe que celui du futur Keystore. Le « -name » sert à faire la liaison avec l’alias « Keyalias » que nous appelons lors du lancement du JBoss, il est très important !

openssl pkcs12 -export -in infonix.eu.crt -inkey infonix.eu.key -out infonix.eu.p12 -name "tomcat"

5 – Malgré que l’on est toutes les informations dans les certificats, il faut quand même créer un Keystore et génèrer un certificat autosigné… !! Attention il faut que les informations soient identiques avec les certificats précédents !! et se placer dans le répertoire “conf” du JBoss (repertoireJBoss/server/default/conf).

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

Entrez le mot de passe du fichier de clés :
Ressaisissez le nouveau mot de passe :

Quels sont vos nom et prénom ?
[Unknown]: infonix.eu
Quel est le nom de votre unité organisationnelle ?
[Unknown]: IT
Quel est le nom de votre entreprise ?
[Unknown]: Infonix
Quel est le nom de votre ville de résidence ?
[Unknown]: RENNES
Quel est le nom de votre état ou province ?
[Unknown]: BRETAGNE
Quel est le code pays à deux lettres pour cette unité ?
[Unknown]: FR
Est-ce CN=infonix.eu, OU=IT, O=INFONIX, L=RENNES, ST=BRETAGNE, C=FR ?
[non]: oui

6 – Nous allons maintenant importer le certificat P12 dans le Keystore afin qu’il remplace l’ensemble des valeurs

keytool -importkeystore -srckeystore infonix.eu.p12 -srcstoretype PKCS12 -destkeystore chap8.keystore
Import du fichier de clés infonix.eu.p12 vers .keystore...
Entrez le mot de passe du fichier de clés de destination :
Entrez le mot de passe du fichier de clés source :
L'alias d'entrée tomcat existe déjà. Voulez-vous le remplacer ? [non] : oui
L'entrée de l'alias tomcat a été importée.
Commande d'import exécutée : 1 entrées importées, échec ou annulation de 0 entrées

7 – Nous pouvons vérifier le contenu du Keystore via la commande suivante

keytool -list -v -keystore chap8.keystore

8 – Voici les éléments a vérifier dans le fichier nommé « server.xml » du JBoss généralement placé à cette endroit :
-> le chemin du server.xml = repertoireduJBoss/server/default/deploy/jbossweb.sar/server.xml
-> le chemin du keystorefile = « ${jboss.server.home.dir}/conf/chap8.keystore »
-> le mot de passe = « keystorePass=”votremotdepasse” »
-> le port d’accès en https = « port=”8086″ » ou « port=”443″ »
-> l’alias dans le keystore = « keyalias=”tomcat” »

9 – Il ne vous reste plus qu’à relancer votre JBoss pour appliquer les paramètres et tester la page sur le port 443 ou votre port personnalisé !

Cyrille LE ROCH

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée.