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 :

  • [appserver root] correspond au répertoire racine du serveur d’applications exécutant AEM Forms.
  • [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, accédez à [JAVA HOME]/bin et saisissez la commande suivante pour créer les informations d’identification et le fichier de stockage des clés :

    keytool -genkey -dname "CN=Nom de l’hôte , OU=Nom du groupe , O=Nom de la société ,L=Nom de la ville , S=État , C=Code du pays" -alias "AEMForms Cert" -keyalg RSA -keypassmots_de_passe_clés -keystorenom_stockage_clés .keystore

    REMARQUE

    Remplacez [JAVA_HOME] par le répertoire dans lequel le JDK est installé, puis remplacez le texte en italique par des valeurs correspondant à votre environnement. nom_hôte correspond au nom de domaine complet du serveur d’applications.

  2. Saisissez le keystore_password 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 keystore_password saisi à 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 [appserver root]/server/[type]/conf en saisissant l’une des commandes suivantes :

    • (Serveur unique Windows) copy keystorename.keystore[appserver root]\standalone\configuration
    • (Grappe de serveurs Windows) Copiez keystorename.keystore[appserver root]\domain\configuration
    • (Serveur unique Linux) cp keystorename.keystore [appserver root]/standalone/configuration
    • (Grappe de serveurs Linux) cp <em>keystorename</em>.keystore<em>[appserver root]</em>/domain/configuration
  4. Exportez le fichier de certificat en exécutant la commande suivante :

    • (Serveur unique) keytool -export -alias "AEMForms Cert" -file AEMForms_cert.cer -keystore [appserver root]/standalone/configuration/keystorename.keystore
    • (Grappe de serveurs) keytool -export -alias "AEMForms Cert" -file AEMForms_cert.cer -keystore [appserver root]/domain/configuration/keystorename.keystore
  5. Saisissez le mot_de_passe_clés lorsque vous êtes invité à saisir un mot de passe.

  6. Copiez le fichier AEMForms_cert.cer dans le répertoire [racine du serveur d’applications]\conf en saisissant la commande suivante :

    • (Serveur unique Windows) copy AEMForms_cert.cer [appserver root]\standalone\configuration
    • (Grappe de serveurs Windows) copy AEMForms_cert.cer [appserver root]\domain\configuration
    • (Serveur unique Linux) cp AEMForms _cert.cer [appserver root]\standalone\configuration
    • (Grappe de serveurs Linux) cp AEMForms _cert.cer [appserver root]\domain\configuration
  7. Affichez le contenu du certificat en exécutant la commande suivante :

    • keytool -printcert -v -file [appserver root]\standalone\configuration\AEMForms_cert.cer
    • keytool -printcert -v -file [appserver root]\domain\configuration\AEMForms_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) Saisissez chmod 777 cacerts
  9. Importez le certificat en saisissant la commande suivante :

    keytool -import -alias “AEMForms Cert” -fileAEMForms_cert .cer -keystoreJAVA_HOME \jre\lib\security\cacerts

  10. Saisissez 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. À l’invite Trust this certificate? [no] :, sasissez 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 les fichiers suivants pour les modifier :

    • Serveur unique : [appserver root]/standalone/configuration/lc_<dbname/turnkey>.xml

    • Grappe de serveurs : [appserver root]/domain/configuration/host.xml

    • Grappe de serveurs : [appserver root]/domain/configuration/domain_<dbname>.xml

    • Pour un serveur unique, ajoutez l’élément suivant dans le fichier lc_<dbaname/tunkey>.xml après la section <security-realms> :
    <security-realm name="SSLRealm">
    <server-identities>
    <ssl>
    <keystore path="C:/Adobe/Adobe_Experience_Manager_Forms/jboss/standalone/configuration/aemformses.keystore" keystore-password="changeit" alias="AEMformsCert" key-password="changeit"/>
    </ssl>
    </server-identities>
    </security-realm>
    

    Recherchez la section <server> située après le code suivant :

    <http-listener name="default" socket-binding="http" redirect-socket="https" max-post-size="104857600"/>

    Ajoutez ce qui suit à la section <server> située après le code ci-dessus :

    <https-listener name="default-secure" socket-binding="https" security-realm="SSLRealm"/>
    
    • Pour une grappe de serveurs, ajoutez ce qui suit dans [racine du serveur d’applications]\domain\configuration\host.xml sur tous les nœuds, après la section <security-realms> :
    <security-realm name="SSLRealm">
    <server-identities>
    <ssl>
    <keystore path="C:/Adobe/Adobe_Experience_Manager_Forms/jboss/standalone/configuration/aemformses.keystore" keystore-password="changeit" alias="AEMForms Cert" key-password="changeit"/>
    </ssl>
    </server-identities>
    </security-realm>
    

    Sur le nœud principal de la grappe de serveurs, dans [racine du serveur d’applications]\domain\configuration\domain_ <dbname>.xml, recherchez la section <server> située après le code suivant :

    <http-listener name="default" socket-binding="http" redirect-socket="https" max-post-size="104857600"/>

    Ajoutez ce qui suit à la section <server> située après le code ci-dessus :

    <https-listener name="default-secure" socket-binding="https" security-realm="SSLRealm"/>
    
  14. 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.

  15. 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 les formulaires Adobe Experience Manager.
      • 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 :

      • À partir d’une invite de commande, accédez à [appserver root]\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 <profile>
        • (Linux) ./run.sh -c <profile>
  16. Pour accéder à la console d’administration en utilisant SSL, saisissez https://[host name]:'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 à AEM forms.

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

  1. Dans une invite de commande, accédez à [JAVA_HOME]/bin et saisissez la commande suivante pour créer le fichier de stockage des clés et la clé :

    keytool -genkey -dname "CN=Nom de l’hôte , OU=Nom du groupe , O=Nom de la société , L=Nom de la ville , S=État , C=Code du pays" -alias "AEMForms Cert" -keyalg RSA -keypass-mot_de_passe_clés -keystorenom_stockage_clé .keystore

    REMARQUE

    Remplacez [JAVA_HOME] par le répertoire dans lequel le JDK est installé, puis remplacez le texte en italique par des valeurs correspondant à votre environnement.

  2. Saisissez le commande suivante afin de générer une demande de certificat à envoyer à l’autorité de certification :

    keytool -certreq -alias « AEMForms Cert » -keystorenom_stockage_clés .keystore -fileAEMFormsRequest.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, accédez à [JAVA HOME]/bin et saisissez la commande suivante pour importer le certificat racine de l’autorité de certification avec laquelle le CSR a été signé :

    keytool -import -trustcacerts -file rootcert.pem -keystore keystorename.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 italique par des valeurs correspondant à votre environnement.

  2. Dans une invite de commande, accédez à [JAVA HOME]/bin et saisissez la commande suivante pour importer les informations d’identification dans le fichier de stockage des clés :

    keytool -import -trustcacerts -filenom_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 italique par des valeurs correspondant à votre environnement.
    • 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.

Sur cette page