CONFIGURER NQI-ORCHESTRA EN MODE SSL AVEC AUTORITÉ

publicité
CONFIGURER NQI-ORCHESTRA EN MODE SSL
AVEC AUTORITÉ DE CERTIFICATION
QUESTION
Peut-on configurer NQI-Orchestra en mode SSL avec un certificat signé par une autorité de certification (Verisign, Thawte,
Godaddy, ...) ?
RÉPONSE
Oui, il est possible de configurer NQI-Orchestra en mode SSL avec un certificat signé par une autorité de certification.
TUTORIEL
Cet article montre comment configurer le serveur JBoss de NQI-Orchestra en mode SSL en générant une demande de certificat CSR et en
intégrant le certificat émis dans Jboss.
Environnement
OS/Programme
Version
OS du serveur applicatif
Linux / Windows
NQI-Orchestra
Version 4.x / 5.x
Base de données
toutes bases de donneés
Dans la suite nous considérerons que l'application est installée dans le répertoire NQI-Orchestra. Les commandes indiquées ci-dessous ont
été réalisées sous environnement linux mais sont les mêmes sous environnements windows. Il faudra juste modifier les chemins d'exécution
en remplaçant les / par des \ (Exemple remplacer NQI-Orchestra/java/bin/... par NQI-Orchestra\java\bin\...)
Création du keystore pour le nouveau certificat ssl (ex : orchestra.keystore)
Dans un terminal linux ou fenêtre dos entrer la commande suivante
NQI-Orchestra/java/bin/keytool -genkey -keyalg RSA -keystore
NQI-Orchestra/jboss/server/nqi/conf/orchestra.keystore -alias orchestra
et répondez au questions :
Définissez tout d'abord un mot de passe pour le keystore (Exemple : changeit) :
Tapez le mot de passe du Keystore :
Ressaisissez le nouveau mot de passe :
Puis entrez les informations nécessaires à la génération de la demande de certification CSR et au certificat lui-même.
Entrez le FQDN de l'application lorsqu'il est demandé de renseigner vos noms et prénoms. Le certificat ne sera valable que pour ce cette
adresse.
Exemple, si vous accèdez à l'application avec l'url https://monapplication.mondomain.com/cpms, entrez le FQDN
monapplication.mondomain.com
Quels sont vos prénom et nom ?
[Unknown] : monapplication.mondomain.com
Quel est le nom de votre unité organisationnelle ?
[Unknown] : IT
Quelle est le nom de votre organisation ?
[Unknown] : MonEntreprise
Quel est le nom de votre ville de résidence ?
[Unknown] : MaVille
Quel est le nom de votre état ou province ?
[Unknown] : Alpes-Maritimes
Quel est le code de pays à deux lettres pour cette unité ?
[Unknown] : FR
Est-ce CN=monapplication.mondomain.com, OU=IT, O=MonEntreprise, L=MaVille, ST=Alpes-Maritimes,
C=FR ?
[non] : oui
Il vous est ensuite demandé de définir un mot de passe pour la clé que vous venez de créer.
Il est impératif d'utiliser le même mot de passe que pour le keystore. => Appuyez sur Entrée.
Spécifiez le mot de passe de la clé pour
Keystore) :
Ressaisissez le nouveau mot de passe :
(appuyez sur Entrée s'il s'agit du mot de passe du
Creation du CSR pour utilisation avec votre fournisseur de certificat SSL
NQI-Orchestra/java/bin/keytool -certreq -keyalg RSA -file orchestra.csr -keystore
NQI-Orchestra/jboss/server/nqi/conf/orchestra.keystore -alias orchestra
Générer le certificat auprès de votre fournisseur de certificat.
Les informations ci-dessous sont données à titre indicatif et dépendent de votre fournisseur de certificat. Conformez-vous à
ses instructions.
Effectuer la demande de certificat auprès de fournisseur de certificat SSL (Verisign, Thawte, Godaddy, ...) avec le CSR généré (fichier
orchestra.csr).
En plus de votre certificat propre (pour monapplication.mondomain.com), votre fournisseur vous fournira également des certificats dits
racine et/ou intermédiaires qui lui sont propres.
Le format des certificats délivrés par votre fournisseur dépend du serveur web sur lequel il va être installé. Il peut vous être demandé au
moment de les télécharger de spécifier le serveur cible.
Sélectionnez Tomcat ou Jboss selon les choix proposés.
Il est nécessaire d'importer ces différents certificats dans le keystore (le mot de passe de celui-ci vous sera demandé).
Dans la suite nous considérerons que vous devez importer 2 certificats racine et/ou intermédiaires de votre fournisseur, primarycert.crt et
secondarycert.crt et votre certificat mycert.crt.
Importer le premier certificat :
NQI-Orchestra/java/bin/keytool -import -trustcacerts -alias primaryIntermediate -keystore
NQI-Orchestra/jboss/server/nqi/conf/orchestra.keystore -file primaryinter.crt
Importer le second certificat :
NQI-Orchestra/java/bin/keytool -import -trustcacerts -alias secondaryIntermediate -keystore
NQI-Orchestra/jboss/server/nqi/conf/orchestra.keystore -file secondaryinter.crt
Importer le certificat émis pour monapplication.mondomain.com :
L'alias du certificat doit correspondre à l'alias saisi lors de la création du keystore et du CSR (orchestra)
NQI-Orchestra/java/bin/keytool -import -trustcacerts -alias orchestra -keystore
NQI-Orchestra/jboss/server/nqi/conf/orchestra.keystore -file mycert.crt
Configurer le serveur JBoss
1. Effectuer une copie de sauvegarde du fichier de configuration suivant
NQI-Orchestra/jboss/server/nqi/deploy/jbossweb.sar/server.xml puis editez-le :
Décommenter la partie gérant le SSL
Remplacer :
NQI-Orchestra/jboss/server/nqi/deploy/jbossweb.sar/server.xml
<!-- SSL/TLS Connector configuration using the admin devl guide keystore
<Connector protocol="HTTP/1.1" SSLEnabled="true" port=
"${jboss.webserver.https.connector.port}" address="${jboss.bind.address}"
maxThreads= "250" strategy="ms" maxHttpHeaderSize="8192" acceptCount="100"
emptySessionPath= "true" URIEncoding="UTF-8"
connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false"
compression= "on" compressableMimeType=
"application/json,text/json,text/html,text/xml,text/css,text/javascript,application/x-javascript,application/
ciphers=
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA3
scheme= "https" secure="true" clientAuth="false"
keystoreFile="${jboss.server.home.dir}/conf/chap8.keystore"
keystorePass= "rmi+ssl" sslProtocol = "TLS" />
-->
par (remonter --> en fin de la 1ère ligne après server.xml)
NQI-Orchestra/jboss/server/nqi/deploy/jbossweb.sar/server.xml
<!-- SSL/TLS Connector configuration using the admin devl guide keystore -->
<Connector protocol="HTTP/1.1" SSLEnabled="true" port=
"${jboss.webserver.https.connector.port}" address="${jboss.bind.address}"
maxThreads= "250" strategy="ms" maxHttpHeaderSize="8192" acceptCount="100"
emptySessionPath= "true" URIEncoding="UTF-8"
connectionTimeout="20000" disableUploadTimeout="true" enableLookups="false"
compression= "on" compressableMimeType=
"application/json,text/json,text/html,text/xml,text/css,text/javascript,application/x-javascript,application/
ciphers=
"TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256,TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA3
scheme= "https" secure="true" clientAuth="false"
keystoreFile="${jboss.server.home.dir}/conf/chap8.keystore"
keystorePass= "rmi+ssl" sslProtocol = "TLS" />
La ligne ciphers=... a été rajoutée tardivement et peut être absente de votre fichier server.xml. Il est alors
nécessaire de l'ajouter.
Renseigner l'accès au fichier keystore (keystoreFile) ainsi que le mot de passe du keystore (keystorePass) (voir création du
keystore plus haut)
NQI-Orchestra/jboss/server/nqi/deploy/jbossweb.sar/server.xml
keystoreFile="${jboss.server.home.dir}/conf/orchestra.keystore"
keystorePass= "changeit" sslProtocol = "TLS" />
Important
Sous Linux, il est nécessaire d'exécuter l'application avec le user root pour tout port inférieur à 1024 (inclus donc le port
SSL par défaut 443). En cas d'un utilisateur non root, le port 8443 est généralement utilisé.
Tester l'installation
Démarrer l'application NQI-Orchestra et tester l'installation
https://monapplication.mondomain.com/cpms
Références :
https://www.networking4all.com/fr/support/certificats+ssl/manuels/java/serveur+web+bas%C3%A9+java/commandes+keytool
http://docs.oracle.com/javase/6/docs/technotes/tools/solaris/keytool.html
Téléchargement