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] est le 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 à [ACCUEIL JAVA]/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 d’hôte , OU=Nom du groupe , O=Nom de la société ,L=Nom de la ville , S=État , C=Code pays" -alias "AEMForms Cert" -keyalg RSA -keypasskey_password -keystorekeystorename .keystore

    REMARQUE

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

  2. Saisissez le keystore_password lorsque vous y êtes invité. Le mot de passe du fichier de stockage des clés et celui de la clé doivent être identiques.

    REMARQUE

    Le keystore_password Au cours de cette étape, il peut s’agir du même mot de passe (mot_de_passe_clé) que celui saisi à l’étape 1, ou il peut s’agir d’un autre mot de passe.

  3. Copiez le keystorename.keystore dans le [appserver root]/server/[type]/conf en saisissant l’une des commandes suivantes :

    • (Serveur unique Windows) copy keystorename.keystore[appserver root]\standalone\configuration
    • Copie (grappe Windows Server) 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 [racine du serveur d’applications] \conf en saisissant la commande suivante :

    • (Serveur unique Windows) copy AEMForms_cert.cer [appserver root]\standalone\configuration
    • (Grappe Windows Server) 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. Pour accorder un accès en écriture au fichier cacerts dans [JAVA_HOME]\jre\lib\security, le cas échéant, effectuez la tâche suivante :

    • (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) Type 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. Type 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 vous êtes invité à Trust this certificate? [no]: type 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 variable <server> présente 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 : dans le [racine du serveur d’applications]\domain\configuration\host.xml sur tous les noeuds, ajoutez ce qui suit après <security-realms> section :
    <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 noeud Principal de la grappe de serveurs, dans la variable [racine du serveur d’applications]\domain\configuration\domain_<dbname>.xml, recherchez la variable <server> présente 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 à Administration Console à l’aide de 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 à [ACCUEIL JAVA]/bin et saisissez la commande suivante pour créer le fichier de stockage des clés et la clé :

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

    REMARQUE

    Remplacer [JAVA_HOME] avec le répertoire dans lequel le JDK est installé, et remplacez le texte en italique par les 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" -keystorekeystorename .keystore -fileAEM FormsRequest.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 auprès de laquelle la demande de signature de certificat a été signée :

    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

    Remplacer [JAVA_HOME]avec le répertoire dans lequel le JDK est installé, et remplacez le texte en italique par les 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 -fileCACertificateName .crt -keystorekeystorename .keystore

    REMARQUE
    • Remplacer [JAVA_HOME] avec le répertoire dans lequel le JDK est installé, et remplacez le texte en italique par les 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