Pourquoi et quand exécuter cette tâche
Les connexions JMX distantes à un contrôleur de
collectivité utilisent
SSL et ont besoin des clés SSL appropriées. La commande
genKey de l'utilitaire de
collectivité génère un magasin de clés contenant un
certificat personnel auquel e contrôleur de collectivité fait
confiance. Le magasin de clés généré inclut également un
certificat de signataire
public afin de pouvoir fonctionner comme un magasin de clés de
confiance.
Pour une machine virtuelle Java
(JVM), comme un serveur membre de collectivité
ou un serveur autre que Liberty, qui souhaite se connecter à un
contrôleur de collectivité, il est nécessaire que la machine
virtuelle Java dispose d'un magasin de clés contenant une clé dans
laquelle le contrôleur de collectivité a confiance. La
commande genKey permet de générer ce magasin
de clés.
Lorsque la machine virtuelle Java dispose du magasin de clés, elle
peut se connecter au contrôleur de collectivité et ce dernier peut
renvoyer sa clé. Ce retour de clé du contrôleur de collectivité à la
machine virtuelle Java est appelé établissement de
liaison SSL.
Pour que la machine virtuelle Java puisse
ajouter la clé du contrôleur de collectivité au magasin de clés de
confiance de la machine virtuelle Java,
la propriété
JVM
com.ibm.websphere.collective.utility.autoAcceptCertificates
doit être définie sur true. Si cette propriété
JVM n'est pas définie, l'utilisateur est invité à ajouter la clé au
magasin de clés de confiance. L'étape
1 de la procédure explique comment définir la propriété
JVM et ajouter automatiquement la clé au magasin de clés de confiance
sans l'invite.
- Pour faire automatiquement confiance aux certificats SSL,
définissez la propriété JVM
com.ibm.websphere.collective.utility.autoAcceptCertificates
sur true.
A l'invite de commande depuis laquelle vous allez exécuter la
commande de collectivité genKey,
exécutez une commande permettant de définir la propriété JVM
sur true :




$ export JVM_ARGS=-Dcom.ibm.websphere.collective.utility.autoAcceptCertificates=true

set JVM_ARGS=-Dcom.ibm.websphere.collective.utility.autoAcceptCertificates=true
Pour vérifier que la propriété JVM est correctement définie,
exécutez les commandes suivantes :




$ export JVM_ARGS

set JVM_ARGS
Conseil : Vous pouvez définir cette propriété JVM sur
true avant d'exécuter toutes les commandes de
collectivité, à l'exception de la commande create.
De nombreuses sous-commandes de collectivité
se connectent à un contrôleur de collectivité et
reçoivent une clé lors d'un établissement de liaison SSL. Les
sous-commandes de collectivité suivantes nécessitent des
informations
d'authentification au moyen du mot de passe utilisateur ou
de clé privée SSH : genKey,
join, registerHost,
remove, unregisterHost
et updateHost.
- Exécutez la commande de collectivité
genKey pour générer un magasin de clés
JKS.
wlp/bin/collective genKey [--host=collectiveControllerHost --password=collectiveControllerAdminUserPassword --port=collectiveControllerHTTPSPort --user=collectiveControllerAdminUserID --keystorePassword=generatedKeystorePassword]
Par
exemple, pour un contrôleur de collectivité sur l'hôte
machineA qui utilise le
port 1090 et comporte une administrateur de
collectivité Admin1 avec le mot de passe
Admin1pwd, exéctutez la commande suivante
pour générer un magasin de clés et définir son mot de passe
sur kspwd :
collective genKey [--host=machineA --password=Admin1pwd --port=1090 --user=Admin1 --keystorePassword=kspwd]
Cet exemple inclut les paramètres obligatoires pour la commande
genKey :
- --host=collectiveControllerHost
- Nom d'hôte du contrôleur de collectivité cible.
- --password=collectiveControllerAdminUserPassword
- Mot de passe de l'administrateur du contrôleur de collectivité
cible. Si aucun mot de passe n'est défini, vous êtes invité à
entrer
le mot de passe de l'administrateur spécifié par le
paramètre --user.
- --port=collectiveControllerHTTPSPort
- Numéro de port HTTPS du contrôleur de collectivité cible.
- --user=collectiveControllerAdminUserID
- Administrateur du contrôleur de collectivité cible.
- --keystorePassword=generatedKeystorePassword
- Mot de passe du magasin de clés généré. Si vous indiquez un mot
de passe et qu'aucune valeur n'est définie, vous êtes invité à entrer un
mot de passe.
La commande genKey comporte également
des paramètres facultatifs :
- --certificateSubject=DN
- Nom distinctif du certificat SSL généré.
Le nom distinctif par
défaut est :
CN=localhost,OU=client,O=ibm,C=usCN=localhost,OU=client,O=ibm,C=usCN=localhost,OU=client,O=ibm,C=usCN=localhost,OU=client,O=ibm,C=us
- --certificateValidity=numberOfDays
- Nombre de jours pendant lequel le certificat SSL est valide. Par
défaut, la période de validité est de 1825 jours ou 5 ans. La période
de validité minimale est de 365 jours.
- --keystoreFile=filePath
- Fichier dans lequel le fichier de clés est écrit. Le fichier par
défaut key.jks se trouve dans le répertoire
de travail.
- --key=key
- Clé à utiliser pour le codage aes. Le produit
hache la chaîne de clé
spécifiée afin de produire une clé de chiffrement
à utiliser pour chiffrer et déchiffrer le mot de passe. Pour
fournir la clé au serveur, définissez une variable
wlp.password.encryption.key dont la valeur est la
clé. Si vous n'indiquez pas cette option,
le produit fournit une clé par défaut.