Open navigation

Procédure d'Importation d'un Certificat SSL dans Gespage sous Windows | Méthode Keytool

Procédure d'Importation d'un Certificat SSL dans Gespage  sous Windows 


⚠️ Important : Veuillez noter que cette procédure nécessitera une ⏳ interruption de service d'environ 15 minutes lors de l'étape de redémarrage final. Planifiez cette opération en conséquence.



1. Objectif

Cette procédure décrit les étapes nécessaires pour importer un certificat SSL signé par une autorité de certification (CA) dans le serveur Payara intégré à Gespage. L'objectif est d'activer une connexion HTTPS sécurisée ?️ pour l'interface web de Gespage, garantissant la confidentialité ? et l'intégrité des données échangées entre le serveur et les utilisateurs.


2.  Comprendre les Éléments Clés

Avant de commencer, voici une brève explication des composants impliqués :

  • SSL (Secure Sockets Layer) / TLS (Transport Layer Security) : ? Protocoles cryptographiques qui fournissent une communication sécurisée sur un réseau. Dans ce contexte, ils chiffrent ? les données entre le navigateur web de l'utilisateur et le serveur Gespage.
  • Certificat SSL : ? Un fichier électronique qui identifie un site web et prouve son authenticité. Il contient la clé publique du serveur, des informations sur l'identité du site et est signé par une autorité de certification (CA).
  • Autorité de Certification (CA) : ? Une organisation de confiance qui émet et gère les certificats numériques. Les navigateurs web font confiance ? aux certificats émis par les CA reconnues.
  • Clé Privée : ? Une clé cryptographique secrète, associée à la clé publique du certificat SSL. Elle est utilisée pour déchiffrer les données chiffrées par la clé publique. La clé privée doit être conservée en sécurité ? et ne jamais être divulguée ?.
  • Keystore : ? Un conteneur sécurisé pour stocker les certificats et les clés privées au format Java (JKS - Java KeyStore). Payara utilise des keystores pour gérer les informations d'identification SSL.
  • keystore.jks : ? Le keystore principal de Payara où le certificat SSL de votre serveur et sa clé privée sont importés.
  • cacerts.jks : ?️ Un keystore contenant les certificats des autorités de certification (CA) de confiance. Lorsque Payara reçoit un certificat SSL d'un navigateur, il vérifie si ce certificat est signé par une CA présente dans son cacerts.jks.
  • Payara : ? Le serveur d'applications Java EE (Enterprise Edition) sur lequel Gespage est déployé. Il gère les requêtes web et sert l'application Gespage. Dans cette configuration, Payara est embarqué avec l'installation de Gespage.
  • keytool : ?️ Un utilitaire de ligne de commande fourni avec le JDK (Java Development Kit) qui permet de gérer les keystores, les clés et les certificats. Il est utilisé dans cette procédure pour importer les certificats dans les keystores de Payara.
  • .pfx (ou .p12) : ? Un format de fichier d'archive portable qui peut contenir un certificat serveur, les certificats intermédiaires et la clé privée correspondante, le tout protégé par un mot de passe ?. Il est couramment utilisé pour importer et exporter des certificats.
  • .crt / .cer : ? Formats de fichiers contenant des certificats X.509. Ils contiennent généralement uniquement la clé publique et les informations d'identification.
  • OpenSSL : ? Une boîte à outils de cryptographie open source qui peut être utilisée pour créer, gérer et convertir des certificats et des clés. Il est optionnel dans cette procédure, mais utile pour créer des fichiers .pfx à partir de fichiers .crt et .key séparés.


3. Prérequis

3.1. ? Fichiers Requis :

  • Fichier de certificat PKCS#12 (.pfx ou .p12) :Ce fichier doit contenir :
    • Le certificat SSL de votre domaine.
    • La clé privée associée au certificat.
    • Les certificats intermédiaires émis par l'autorité de certification (le cas échéant).
  • Certificat de l'autorité de certification (CA) (.crt ou .cer) : Requis uniquement si le certificat de l'autorité racine n'est pas inclus dans le fichier .pfx.

3.2. ?️ Outils Indispensables :

  • Java (Intégré à Gespage) : Aucune installation séparée n'est nécessaire. L'outil keytool est inclus dans l'environnement Java de Gespage.

  • keytool : ? Utilitaires de gestion de clés et de certificats Java, situé dans le répertoire :

    C:\Program Files\Gespage\GespageCore\JDK\zulu11.74.15-ca-jdk11.0.24-win_x64\bin 
    
  • OpenSSL : ? Peut être utilisé pour manipuler les fichiers de certificats, notamment pour créer un fichier .pfx à partir de fichiers .crt et .key séparés. Si ce n'est pas déjà installé, téléchargez-le depuis une source fiable comme https://slproweb.com/products/Win32OpenSSL.html et suivez les instructions d'installation fournies sur le site.

3.4. ? Emplacements des Keystores Gespage :

Il faut faire un backup de ces fichiers : 


  • keystore.jks : ? Contient le certificat SSL et sa clé privée. Emplacement par défaut :

    C:\\Program Files\Gespage\GespageCore\server\config\
     
    
  • cacerts.jks : ?️ Contient les certificats des autorités de certification de confiance. Emplacement par défaut :

    C:\\Program Files\Gespage\GespageCore\server\config\ 
    

3.5. ? Mots de Passe par Défaut (À modifier impérativement après l'importation) :

  • keystore.jks : changeit
  • cacerts.jks : changeit
  • .pfx : Défini lors de la création du fichier. Assurez-vous de connaître ce mot de passe.


4.  Étapes de la Procédure


4.1. ?️ (Optionnel) Création d'un Fichier PKCS#12 (.pfx) à partir de Fichiers .crt et .key

Si vous possédez un certificat au format .crt et une clé privée au format .key, vous devez les combiner dans un fichier .pfx (PKCS#12) pour l'importation dans le keystore Java de Payara.

  1. ⌨️ Ouvrir l'invite de commandes (cmd) en tant qu'administrateur.

  2. ➡️ Exécuter la commande OpenSSL suivante :

    openssl pkcs12 -export -out "C:\\chemin\vers\certificat.pfx" -inkey "C:\\chemin\vers\cle_privee.key" -in "C:\\chemin\vers\certificat.crt" -certfile "C:\\chemin\vers\certificat_intermediaire.crt"
     
    
    • ? Remplacez "C:\\chemin\vers\certificat.pfx", "C:\\chemin\vers\cle_privee.key", "C:\\chemin\vers\certificat.crt" et "C:\\chemin\vers\certificat_intermediaire.crt" par les chemins d'accès réels à vos fichiers. Si vous avez plusieurs certificats intermédiaires, vous pouvez les ajouter en répétant l'option certfile. Si vous n'avez pas de certificat intermédiaire, omettez l'option certfile.
    • ? Vous serez invité à définir et confirmer un mot de passe pour le fichier .pfx. Conservez ce mot de passe en sécurité.

4.2.  Importation du Certificat de l'Autorité de Certification (CA) dans cacerts.jks

Cette étape est nécessaire pour que le serveur Payara fasse confiance ? au certificat SSL que vous allez importer.

  1. ⌨️ Ouvrir l'invite de commandes (cmd) en tant qu'administrateur.

  2. ➡️ Naviguer vers le répertoire des binaires Java de Gespage :

    C:\\Program Files\Gespage\GespageCore\server\config\
     
    
  3. ➡️ Exécuter la commande keytool pour importer le certificat CA :

    keytool -importcert ^
        -alias "nom_unique_ca" ^
        -file "C:\\chemin\vers\certificat_CA.crt" ^
        -keystore "C:\\Program Files\Gespage\GespageCore\server\config\cacerts.jks" ^
        -storepass changeit ^
        -trustcacerts
     
    

    Explication des paramètres :

    ParamètreDescriptionExemple
    -aliasNom unique que vous attribuez à ce certificat CA dans le keystore. Choisissez un nom descriptif pour une identification facile.gespage_ca, entrust_root, digicert_intermediate
    -fileChemin d'accès complet au fichier du certificat de l'autorité de certification (au format .crt ou .cer).C:\\Chemin\Vers\CA.crt
    -keystoreSpécifie le fichier keystore cible dans lequel le certificat CA sera importé.C:\\Program Files\Gespage\GespageCore\server\config\cacerts.jks
    -storepassMot de passe du keystore cible (cacerts.jks). La valeur par défaut est changeit.changeit
    -trustcacertsIndique à keytool que le certificat importé est celui d'une autorité de certification de confiance.(Aucune valeur à spécifier)

    Si vous avez plusieurs certificats intermédiaires qui ne sont pas inclus dans le fichier .pfx, répétez cette commande pour chaque certificat, en utilisant un alias unique différent à chaque fois.

4.3.  Importation du Certificat SSL dans keystore.jks

Cette étape importe votre certificat SSL et sa clé privée dans le keystore de Payara.

  1. ➡️ Toujours dans l'invite de commandes (cmd) et dans le répertoire des binaires Java de Gespage (C:\Program Files\Gespage\GespageCore\JDK\zulu11.74.15-ca-jdk11.0.24-win_x64\bin), exécutez la commande keytool suivante :

    keytool -importkeystore ^
        -srckeystore "C:\\chemin\vers\certificat.pfx" ^
        -srcstoretype PKCS12 ^
        -srcstorepass votre_mot_de_passe_pfx ^
        -destkeystore "C:\Program Files\Gespage\GespageCore\server\config\keystore.jks" ^
        -deststoretype JKS ^
        -deststorepass changeit ^
        -destalias s1as ^
        -keypass changeit
     
    

    Explication des paramètres :

    ParamètreDescriptionExemple
    -srckeystoreChemin d'accès complet au fichier de keystore source (votre fichier .pfx ou .p12).C:\\Chemin\Vers\mon_certificat.pfx
    -srcstoretypeType de keystore source. Dans ce cas, il s'agit du format PKCS#12.PKCS12
    -srcstorepassMot de passe de votre fichier de keystore source (.pfx).motdepasse_du_pfx
    -destkeystoreSpécifie le fichier keystore de destination (keystore.jks) où le certificat SSL sera importé.C:\\Program Files\Gespage\GespageCore\server\config\keystore.jks
    -deststoretypeType de keystore de destination. Pour Java KeyStore, il s'agit de JKS.JKS
    -deststorepassMot de passe du keystore de destination (keystore.jks). La valeur par défaut est changeit.changeit
    -destaliasAlias que le certificat SSL aura dans le keystore de destination (keystore.jks). Il est crucial d'utiliser s1as car c'est l'alias par défaut attendu par Payara.s1as
    -keypassMot de passe de la clé privée dans le keystore de destination. Par défaut, il est identique au mot de passe du keystore (changeit).changeit

    Note importante : L'option -srcalias n'est généralement pas nécessaire lors de l'importation d'un fichier .pfx contenant un seul certificat et sa clé. keytool importera automatiquement l'entrée de clé. Si votre fichier .pfx contient plusieurs entrées, vous devrez identifier l'alias correct à importer en listant le contenu du fichier .pfx avec la commande keytool -list -pkcs12 -keystore "C:\\chemin\\vers\\certificat.pfx" -storepass votre_mot_de-passe_pfx -v.

5.  Vérification de l'Importation

Après l'importation, il est essentiel de vérifier que les certificats ont été correctement ajoutés aux keystores.

5.1.  Vérification du Certificat CA dans cacerts.jks

  1. ⌨️ Exécuter la commande suivante dans l'invite de commandes (toujours dans le répertoire Java) :

    keytool -list -v -keystore "C:\\Program Files\Gespage\GespageCore\\erver\config\cacerts.jks" -storepass changeit -alias nom_unique_ca
     
    
    • ?️ Remplacez "nom_unique_ca" par l'alias que vous avez utilisé lors de l'importation du certificat CA.
    • ? Vérifiez les détails du certificat, notamment l'émetteur et la date d'expiration.

5.2.  Vérification du Certificat SSL dans keystore.jks

  1. ⌨️ Exécuter la commande suivante :

    keytool -list -v -keystore "C:\\Program Files\Gespage\GespageCore\server\config\keystore.jks" -storepass changeit -alias s1as
     
    
    • ? Assurez-vous que le type d'entrée est PrivateKeyEntry, indiquant que la clé privée a été importée avec le certificat.
    • ? Vérifiez que les dates de validité du certificat sont correctes et que les informations de l'émetteur et du propriétaire correspondent à votre certificat SSL.

6. Configuration du Port HTTPS (443) sur Gespage (Payara)

Pour que Gespage écoute sur le port HTTPS standard (443), vous devez modifier le fichier de configuration de Payara.

  1. ? Localiser le fichier domain.xml de Payara :

    C:\\Program Files\\Gespage\GespageCore\server\payara41\glassfish\domains\domain1\config\domain.xml
     
    
  2. ? Ouvrir le fichier domain.xml avec un éditeur de texte en tant qu'administrateur.

  3. ➕ Rechercher la section <network-listeners> et ajouter un nouveau listener pour le port 443 :

    <network-listeners>
        <network-listener protocol="http-listener-1" port="7180" name="http-listener-1" thread-pool="http-thread-pool" transport="tcp"></network-listener>
        <network-listener protocol="http-listener-2" port="7181" name="http-listener-2" thread-pool="http-thread-pool" transport="tcp"></network-listener>
        <network-listener protocol="http-listener-2" port="443" name="http-listener-3" thread-pool="http-thread-pool" transport="tcp">
            <ssl client-auth-enabled="false" certificate-nickname="s1as"></ssl>
        </network-listener>
        <network-listener protocol="admin-listener" port="4848" name="admin-listener" thread-pool="admin-thread-pool" transport="tcp"></network-listener>
     </network-listeners>
     
    
    • ⚠️ Important : Le protocol doit être http-listener-2 pour indiquer une connexion HTTPS.
    • ➕ Ajoutez l'élément <ssl client-auth-enabled="false" certificate-nickname="s1as"></ssl> à la définition du listener pour le port 443. certificate-nickname="s1as" assure que le certificat importé est utilisé pour cette connexion.
  4. ➕ Rechercher la section <virtual-server id="server"> et ajouter le nouveau listener (http-listener-3) à l'attribut network-listeners :

    <virtual-server network-listeners="http-listener-1,http-listener-2,http-listener-3" id="server">
        <property name="send-error_1" value="code=404 path=C:/Program%20Files/Gespage/GespageCore/server/config/docroot/404.html"></property>
        <property name="docroot" value="C:/Program Files/Gespage/GespageCore/server/config/docroot"></property>
     </virtual-server>
     
    
  5. ? Enregistrer les modifications apportées au fichier domain.xml.

7.  Redémarrage de Gespage


Pour que les modifications de configuration soient prises en compte, vous devez redémarrer le service : 

Gespage Application Server.


 L'arrêt et le redémarrage du service peuvent prendre quelques minutes. Une interruption de service d'environ 15 minutes est à prévoir.

8. Vérification Finale

Après le redémarrage, vérifiez que l'interface web de Gespage est accessible via HTTPS sur le port 443.

  1. Ouvrir un navigateur web ? et accéder à https://<adresse_ip_ou_nom_de_domaine_du_serveur>.
  2. ✅ Assurez-vous que le navigateur affiche un cadenas ? indiquant une connexion sécurisée et que le certificat affiché est bien celui que vous avez importé.

9. Recommandations et Sécurité

  •  Modifier les mots de passe par défaut des fichiers keystore.jks et cacerts.jks immédiatement après l'importation pour renforcer la sécurité. Utilisez des mots de passe robustes et uniques. Vous pouvez modifier les mots de passe avec la commande keytool -storepasswd.
  • Sauvegarder les fichiers de keystore (keystore.jks et cacerts.jks) après toute modification.
  • Restreindre l'accès au fichier domain.xml pour éviter toute modification non autorisée.
  • Surveiller régulièrement la date d'expiration du certificat SSL et planifier son renouvellement en temps voulu pour éviter toute interruption de service.

Cette réponse a-t-elle été utile ? Oui Non

Envoyer vos commentaires
Désolés de n'avoir pu vous être utile. Aidez-nous à améliorer cet article en nous faisant part de vos commentaires.