Configuration de SSL pour JBoss Application Server

Pour configurer SSL sur JBoss Application Server, vous avez besoin d’informations d’identification SSL pour l’authentification. Vous pouvez utiliser l’outil Java keytool pour créer des informations d’identification ou demander des informations d’identification à une autorité de certification (CA) et les importer. Vous devez ensuite activer SSL sur JBoss.

Pour exécuter l’outil keytool, il suffit de saisir une commande qui comprend toutes les informations requises pour créer le fichier de stockage des clés.

Dans cette procédure :

  • [racine du serveur d’applications] correspond au répertoire racine du serveur d’applications exécutant LiveCycle.

  • [type] correspond à un nom de dossier qui varie selon le type d’installation réalisé.

Création d’informations d’identification SSL

  1. Dans une invite de commande, naviguez jusqu’à [JAVA_HOME]/bin et tapez la commande ci-dessous pour créer les informations d’identification et le fichier de stockage des clés :

    keytool -genkey -dname "CN=nom_hôte, OU=nom_groupe, O=nom_société,L=nom_ville, S=état, C=code_pays" -alias "LC Cert" -keyalg RSA -keypass mot_de_passe_clé -stockage_clés nom_stockage_clés.keystore

    Remarque : remplacez [JAVA_HOME] par le répertoire dans lequel le JDK est installé, puis remplacez le texte en italiques par les valeurs correspondant à l’environnement. nom_hôte correspond au nom de domaine complet du serveur d’applications.
  2. Saisissez le mot_de_passe_clés lorsque vous êtes invité à saisir un mot de passe. Le mot de passe du fichier de stockage des clés et celui de la clé doivent être identiques.

    Remarque : le mot_de_passe_clés saisi au cours de cette étape peut correspondre au mot de passe (mots_de_passe_clés) saisi à l’étape 1, ou être différent.
  3. Copiez le fichier nom_stockage_clés.keystore dans le répertoire [racine du serveur d’applications]/server/[type]/conf en tapant l’une des commandes suivantes :

    • (Windows) copy nom_stockage_clés.keystore [racine du serveur d’applications]\server\[type]\conf

    • (Linux) cp nom_stockage_clés.keystore[racine du serveur d’applications]/server/ [type]/conf

  4. Exportez le fichier de certificat en saisissant la commande suivante :

    keytool -export -alias "LC Cert" -file LC_cert.cer -keystore [racine du serveur d’applications]\server\[type]\conf\nom_stockage_clés.keystore

  5. Saisissez le mot_de_passe_clés lorsque vous êtes invité à saisir un mot de passe.

  6. Copiez le fichier LC_cert.cer dans le sous-répertoire conf du répertoire [racine du serveur d’applications] en tapant la commande suivante :

    • (Windows) copy LC_cert.cer [racine du serveur d’applications]\server\[type]\conf

    • (Linux) cp LC_cert .cer [racine du serveur d’applications]/server/[type]/conf

  7. Affichez le contenu du certificat en saisissant la commande suivante :

    keytool -printcert -v -file [racine du serveur d’applications]\server\[type]\conf\LC_cert.cer

  8. Le cas échéant, pour autoriser l’accès en écriture au fichier cacerts dans [JAVA_HOME]\jre\lib\security, procédez comme suit :

    • (Windows) Cliquez avec le bouton droit de la souris sur le fichier cacerts et sélectionnez Propriétés, puis l’attribut Lecture seule.

    • (Linux) Tapez chmod 777 cacerts

  9. Importez le certificat en saisissant la commande suivante :

    keytool -import -alias "LC Cert" -file LC_cert.cer -keystore JAVA_HOME\jre\lib\security\cacerts

  10. Tapez changeit comme mot de passe. Il s’agit du mot de passe par défaut d’une installation Java, mais l’administrateur système peut l’avoir modifié.

  11. Lorsque le message Trust this certificate? [no]: apparaît, tapez yes. La confirmation « Certificate was added to keystore » s’affiche.

  12. Si vous vous connectez via SSL à partir de Workbench, vous devez installer le certificat sur le serveur Workbench.

  13. Dans un éditeur de texte, ouvrez [racine de serveur d’applications]/server/[type]/deploy/jboss-web.sar/server.xml.

  14. Dans le fichier server.xml, annulez la mise en commentaire de la section suivante :

     <!-- SSL/TLS Connector configuration using the admin devl guide keystore 
    <Connector protocol="HTTP/1.1" SSLEnabled="true" 
        port="8443" address="${jboss.bind.address}" URIEncoding="UTF-8" 
        scheme="https" secure="true" clientAuth="false" 
        keystoreFile="${jboss.server.home.dir}/conf/chap8.keystore" 
        keystorePass="rmi+ssl" sslProtocol = "TLS" /> 
    -->
  15. Remplacez la valeur des attributs keystoreFile et keystorePass par le mot de passe du fichier de stockage des clés que vous avez spécifié lors de la création dudit fichier.

  16. Enregistrez le fichier server.xml.

  17. Redémarrez le serveur d’applications :

    • Pour les installations clé en main :

      • Dans le Panneau de configuration de Windows, cliquez sur Outils d’administration, puis sur Services.

      • Sélectionnez JBoss pour LiveCycle.

      • Sélectionnez Action > Arrêter.

      • Attendez que la mention indiquant l’arrêt du service s’affiche.

      • Sélectionnez Action > Démarrer.

    • Pour les installations de JBoss configurées manuellement ou préconfigurées par Adobe :

      • Ouvrez une invite de commande, puis accédez à [racine du serveur d’applications]/bin.

      • Arrêtez le serveur en saisissant la commande suivante :

        • (Windows) shutdown.bat -S

        • (Linux) ./shutdown.sh -S

      • Attendez l’arrêt complet du processus JBoss (il rend la main au terminal dans lequel il a été démarré).

      • Démarrez le serveur en saisissant la commande suivante :

        • (Windows) run.bat -c all

        • (Linux) ./run.sh -c all

  18. Pour accéder à Administration Console au moyen de SSL, saisissez https://[nom d'hôte]:[port]/adminui dans un navigateur Web.

    Le port SSL par défaut pour JBoss est 8443. A partir de là, spécifiez ce port lors de l’accès à LiveCycle.

Demande d’informations d’identification à une autorité de certification

  1. Dans une invite de commande, naviguez jusqu’à [JAVA_HOME]/bin et tapez la commande ci-dessous pour créer le fichier de stockage des clés et la clé :

    keytool -genkey -dname "CN=nom_hôte, OU=nom_groupe, O=nom_société,L=nom_ville, S=état, C=code_pays" -alias "LC Cert" -keyalg RSA -keypass mot_de_passe_clé -stockage_clés nom_stockage_clés.keystore

    Remarque : remplacez [JAVA_HOME] par le répertoire dans lequel le JDK est installé, puis remplacez le texte en italiques par les valeurs correspondant à l’environnement.
  2. Saisissez le commande suivante afin de générer une demande de certificat à envoyer à l’autorité de certification :

    keytool -certreq -alias " LC Cert" -keystore nom_stockage_clés.keystore -file LCcertRequest.csr

  3. Dès que votre demande de certificat est remplie, passez à la procédure suivante.

Utilisation d’informations d’identification obtenues auprès d’une autorité de certification pour activer SSL

  1. Dans une invite de commande, naviguez jusqu’à [JAVA_HOME]/bin et saisissez la commande ci-dessous pour importer le certificat racine de l’autorité de certification auprès de laquelle le CSR a été signé :

    keytool -import -trustcacerts -file cert_racine.pem -keystorenom_stockage_clés .keystore -alias root

    Si le certificat racine ne figure pas dans le navigateur, importez-le également à cet endroit.

    Remarque : remplacez [JAVA_HOME] par le répertoire dans lequel le JDK est installé, puis remplacez le texte en italiques par les valeurs correspondant à l’environnement.
  2. Dans une fenêtre de commande, naviguez jusqu’à [JAVA_HOME]/bin et tapez la commande ci-dessous pour importer les informations d’identification dans le fichier de stockage des clés :

    keytool -import -trustcacerts -file nom_certificat_CA.crt -keystorenom_stockage_clés.keystore

    Remarque : remplacez [JAVA_HOME] par le répertoire dans lequel le JDK est installé, puis remplacez le texte en italiques par les valeurs correspondant à l’environnement.
    Remarque : le certificat signé par l’autorité de certification et importé va remplacer un certificat public autosigné s’il existe.
  3. Suivez les étapes 13 à 18 de la section Création d’informations d’identification SSL.