Pour utiliser l'authentification mutuelle, les serveurs et les agents doivent échanger des clés. Vous exportez une clé de serveur sous forme de certificat et l'importez dans le magasin de clés de l'agent, puis inversez le processus en exportant la clé d'agent et en l'important dans le magasin de clés du serveur.
Avant de commencer
Avant d'échanger les clés, vérifiez que les propriétés suivantes sont définies :
- La propriété server.jms.mutualAuth dans le fichier installed.properties du serveur (dans le répertoire install_serveur/conf/server) a pour valeur true.
- Pour chaque agent, la propriété locked/agent.mutual_auth dans le fichier
installed.properties de l'agent (dans le répertoire install_agent\conf\agent) a pour valeur true.
- Pour chaque relais d'agent, la propriété agentrelay.jms_proxy.secure dans le fichier
agentrelay.properties du relais (dans le répertoire install_relais\conf) a pour valeur true.
- Pour chaque relais d'agent, la propriété agentrelay.jms_proxy.mutualAuth dans le fichier agentrelay.properties du relais a pour valeur true.
Procédure
- Ouvrez une fenêtre de ligne de commande et accédez au répertoire conf d'installation du serveur.
- Exécutez la commande suivante :
keytool -export -keystore server.keystore -storepass changeit
-alias server -file server.crt
- Copiez le fichier exporté (certificat) dans le répertoire conf de l'installation de l'agent ou dans le répertoire conf/jms-relay de l'installation du relais d'agent.
- Importez le fichier en exécutant la commande suivante depuis le répertoire conf de l'agent ou le répertoire jms-relay du relais d'agent :
keytool -import -keystore fichier_magasin_clés -storepass changeit
-alias server -file server.crt -keypass changeit -noprompt
Pour fichier_magasin_clés, utilisez ibm-ucd.keystore pour les agents et agentrelay.keystore pour les relais d'agent. Normalement, le message indiquant que le certificat a été ajouté au magasin de clés (Certificate was added to keystore) s'affiche.
- Pour chaque relais d'agent ou agent local, exportez la clé en exécutant la commande suivante (changez le nom de l'argument de fichier pour qu'il corresponde au nom de l'agent) :
keytool -export -keystore fichier_magasin_clés -storepass changeit
-alias ibm-ucd_agent -file nom_agent.crt
Pour fichier_magasin_clés, utilisez ibm-ucd.keystore pour les agents et agentrelay.keystore pour les relais d'agent.Pournom_agent, spécifiez un identificateur de chaîne unique pour l'agent ou le relais d'agent. Le message indiquant que le certificat a été stocké dans le fichier nom.agent.crt (Certificate stored
in file agentName.crt) s'affiche.
- Copiez le fichier exporté dans le répertoire conf du serveur.
- Depuis le répertoire conf du serveur, importez chaque certificat en exécutant la commande suivante :
keytool -import -keystore server.keystore -storepass changeit
-alias [nom_agent] -file nom_agent.crt -keypass changeit -noprompt
Normalement, le message indiquant que le certificat a été ajouté au magasin de clés (Certificate was added to keystore) s'affiche.
- Redémarrez le serveur, les agents et les relais d'agent.
Que faire ensuite
Pour connecter un relais d'agent aux agents distants, échangez les certificats comme expliqué plus haut ; chaque agent distant doit importer le certificat du relais, et le relais doit importer le certificat de chaque agent distant. Les agents qui utilisent des relais n'ont pas besoin d'échanger les certificats avec le serveur.
Pour répertorier les certificats qui sont chargés dans un magasin de clés, exécutez la commande suivante depuis le répertoire du magasin de clés :
keytool -list -keystore fichier_magasin_clés -storepass changeit
Pour des informations sur l'échange de clés entre des serveurs, voir Echange de magasins de clés entre des serveurs.