• Création d’un keystore de test dans le répertoire C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf> :
C:\Program Files\Apache Software Foundation\Tomcat 6.0\conf>keytool -genkey -alias tc-ssl -keyalg RSA -keystore server.keystore -validity 3650
Tapez le mot de passe du Keystore :
Ressaisissez le nouveau mot de passe :
Quels sont vos prénom et nom ?
[Unknown] : localhost
Quel est le nom de votre unité organisationnelle ?
[Unknown] : alliacom.com
Quelle est le nom de votre organisation ?
[Unknown] : security
Quel est le nom de votre ville de résidence ?
[Unknown] : sulniac
Quel est le nom de votre état ou province ?
[Unknown] : bretagne
Quel est le code de pays à deux lettres pour cette unité ?
[Unknown] : Fr
Est-ce CN=localhost, OU=alliacom.com, O=security, L=sulniac, ST=bretagne, C=Fr ?
[non] : oui
Spécifiez le mot de passe de la clé pour
(appuyez sur Entrée s'il s'agit du mot de passe du Keystore) :
• Notez que la réponse à la question Quels sont vos prénom et nom? est importante. La réponse constitue la partie CN=votre_saisie de votre DN (distinguished name). Le navigateur vérifiera que CN=votre_saisie correspond à la fin du nom de domaine sur lequel la page est requêttée. Si CN=votre_saisie ne correspond pas au domaine de la page web le navigateur affichera une alerte supplémentaire. Vous pouvez ainsi utiliser CN = localhost pour des test locaux puis utiliser le nom de domaine du serveur qui renverra la requête depuis internet.
• Editez jbossweb-tomcat41.sar/META-INF/jboss-service.xml et dé-commentez la section suivante
<Connector
className = "org.apache.coyote.tomcat4.CoyoteConnector"
address = "${jboss.bind.address}"
port = "8443"
scheme = "https"
secure = "true">
<Factory className = "org.apache.coyote.tomcat4.CoyoteServerSocketFactory"
keystoreFile ="${jboss.server.home.dir}/conf/server.keystore"
keystorePass = "changeit"
protocol = "TLS">
</Factory>
</Connector>
• Remplacez la valeur de keystorePass avec le mot de passe utilisé lors de la création de la clé.
• Redémarrez le serveur et charger la page: https://localhost:8443/jmx-console/index.jsp pour tester la connexion SSL. Votre navigateur devarit vous alerter sur le fait qu’il ne peut faire confiance à la signature. Pour éviter cela vous devrez soit importer le certificat dans votre navigateur ou obtenir un certificat depuis une autorité de certification reconue (Ex: Thawte, Verisign). Voir la section des exemples sur la documentation keytool pour la procédure de création d’un certificate serveut signé par uen autorité de certification de confiance.
Au démarrage, il se peut que les logs contiennent cette alerte:
10:31:48,952 DEBUG [SSLImplementation] [getInstance.119] Error loading SSL Implementation org.apache.tomcat.util.net.puretls.PureTLSImplementation
java.lang.ClassNotFoundException: No ClassLoaders found for: org.apache.tomcat.util.net.puretls.PureTLSImplementation
Ignorez la à moins que vous n’essayez d’utiliser l’implémentation SSL PureTLS. Tomcat essaie de trouver différentes implémentations SSL et utilise par défaut JSSE s’in n’en trouve pas d’autres.