Après avoir remplacé les certificats SSL de la machine, vous pouvez remplacer tous les certificats des utilisateurs de solutions. Les certificats d'utilisateurs de solutions doivent être valides (ils ne sont pas arrivés à expiration), mais l'infrastructure de certificats n'utilise aucune des autres informations d'un certificat.

Pourquoi et quand exécuter cette tâche

De nombreux clients VMware ne remplacent pas les certificats d'utilisateur de solution. Ils se contentent de remplacer les certificats SSL de la machine par des certificats personnalisés. Cette approche hybride répond aux exigences de leurs équipes de sécurité.

  • Les certificats se trouvent derrière un proxy, ou ce sont des certificats personnalisés.

  • Aucune autorité de certification intermédiaire n'est utilisée.

Remplacez le certificat d'utilisateur de solution de machine sur chaque nœud Platform Services Controller. Remplacez les autres certificats d'utilisateurs de solutions uniquement sur chaque nœud de gestion. Utilisez le paramètre --server pour pointer vers le Platform Services Controller lorsque vous exécutez des commandes sur un nœud de gestion avec un Platform Services Controller externe.

Remarque :

Lorsque vous répertoriez les certificats d'utilisateurs de solutions dans des déploiements importants, le résultat de dir-cli list inclut tous les utilisateurs de solutions de tous les nœuds. Exécutez vmafd-cli get-machine-id --server-name localhost pour rechercher l'ID de machine locale de chaque hôte. Chaque nom d'utilisateur de solution comprend l'ID de machine.

Préambules

Soyez prêt à arrêter tous les services et à démarrer ceux qui gèrent la propagation et le stockage des certificats.

Procédure

  1. Faites une copie de certool.cfg, supprimez les champs Nom, Adresse IP, Nom DNS et E-mail, puis remplacez le nom du fichier par sol_usr.cfg, par exemple.

    Vous pouvez nommer les certificats de la ligne de commande dans le cadre de la génération. Les autres informations ne sont pas nécessaires pour les utilisateurs de la solution. Si vous laissez les informations par défaut, les certificats générés peuvent être source de confusion.

  2. Générez une paire de fichiers de clé publique/privée et un certificat pour chaque utilisateur de solution, puis transmettez le fichier de configuration que vous venez de personnaliser.

    Par exemple :

    certool --genkey --privkey=vpxd.priv --pubkey=vpxd.pub 
    certool --gencert --privkey=vpxd.priv --cert vpxd.crt --Name=VPXD_1 --config sol_usr.cfg
  3. Recherchez le nom de chaque utilisateur de la solution.
    dir-cli service list 
    

    Vous pouvez utiliser l'ID unique renvoyé lorsque vous remplacez les certificats. L'entrée et la sortie peuvent se présenter comme suit.

    C:\Program Files\VMware\vCenter Server\vmafdd>dir-cli service list
    Enter password for administrator@vsphere.local:
    1. machine-1d364500-4b45-11e4-96c2-020011c98db3
    2. vpxd-1d364500-4b45-11e4-96c2-020011c98db3
    3. vpxd-extension-1d364500-4b45-11e4-96c2-020011c98db3
    4. vsphere-webclient-1d364500-4b45-11e4-96c2-020011c98db3

    Lorsque vous répertoriez les certificats d'utilisateurs de solution dans un déploiement à nœuds multiples, la liste dir-cli contient tous les utilisateurs de solution de tous les nœuds. Exécutez vmafd-cli get-machine-id --server-name localhost pour rechercher l'ID de machine locale de chaque hôte. Chaque nom d'utilisateur de solution comprend l'ID de machine.

  4. Arrêtez tous les services et démarrez ceux qui gèrent la création, la propagation et le stockage des certificats.

    Les noms de service diffèrent sur Windows et pour le vCenter Server Appliance.

    Windows

    service-control --stop --all
    service-control --start VMWareAfdService
    service-control --start VMWareDirectoryService
    service-control --start VMWareCertificateService
    

    vCenter Server Appliance

    service-control --stop --all
    service-control --start vmafdd
    service-control --start vmdird
    service-control --start vmcad
    
  5. Pour chaque utilisateur de solution, remplacez le certificat existant dans vmdir, puis dans VECS.

    L'exemple suivant indique comment remplacer les certificats pour le service vpxd.

    dir-cli service update --name <vpxd-xxxx-xxx-7c7b769cd9f4> --cert ./vpxd.crt
    vecs-cli entry delete --store vpxd --alias vpxd
    vecs-cli entry create --store vpxd --alias vpxd --cert vpxd.crt --key vpxd.priv
    
    
    Remarque :

    Les utilisateurs de solutions ne peuvent pas s'authentifier auprès de vCenter Single Sign-On si vous ne remplacez pas le certificat dans vmdir.

  6. Redémarrez tous les services.
    service-control --start --all
    

Utilisation des certificats d'utilisateurs de solutions signés par VMCA

  1. Générez une paire de clé publique/clé privée pour chaque utilisateur de solution. Cela inclut une paire pour l'utilisateur de solution de machine sur chaque Platform Services Controller et chaque nœud de gestion, et une paire pour chaque utilisateur de solution supplémentaire (vpxd, vpxd-extension, vsphere-webclient) sur chaque nœud de gestion.

    1. Générez une paire de clés pour l'utilisateur de solution de machine d'un déploiement intégré ou pour l'utilisateur de solution de machine de Platform Services Controller.

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=machine-key.priv --pubkey=machine-key.pub
      
    2. (Facultatif) Pour les déploiements comportant un Platform Services Controller externe, générez une paire de clés pour l'utilisateur de solution de machine sur chaque nœud de gestion.

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=machine-key.priv --pubkey=machine-key.pub
    3. Générez une paire de clés pour l'utilisateur de solution vpxd sur chaque nœud de gestion.

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=vpxd-key.priv --pubkey=vpxd-key.pub
    4. Générez une paire de clés pour l'utilisateur de solution vpxd-extension sur chaque nœud de gestion.

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=vpxd-extension-key.priv --pubkey=vpxd-extension-key.pub
    5. Générez une paire de clés pour l'utilisateur de solution vsphere-webclient sur chaque nœud de gestion.

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=vsphere-webclient-key.priv --pubkey=vsphere-webclient-key.pub
  2. Générez des certificats d'utilisateurs de solutions qui sont signés par le nouveau certificat racine MCA pour l'utilisateur de solution de machine sur chaque Platform Services Controller et chaque nœud de gestion, et pour chaque utilisateur de solution supplémentaire (vpxd, vpxd-extension, vsphere-webclient) sur chaque nœud de gestion.

    Remarque :

    Le paramètre --Name doit être unique. Le fait d'inclure le nom du magasin de l'utilisateur de solution permet de voir facilement la correspondance entre un certificat et un utilisateur de solution. L'exemple inclut le nom, par exemple vpxd ou vpxd-extension, dans chaque cas.

    1. Exécutez la commande suivante sur le nœud Platform Services Controller pour générer un certificat d'utilisateur de solution pour l'utilisateur de solution de machine sur ce nœud.

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine 
      
    2. Générez un certificat pour l'utilisateur de solution de machine sur chaque nœud de gestion.

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine --server=<psc-ip-or-fqdn>
      
    3. Générez un certificat pour l'utilisateur de solution vpxd sur chaque nœud de gestion.

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vpxd.crt --privkey=vpxd-key.priv --Name=vpxd --server=<psc-ip-or-fqdn>
      
    4. Générez un certificat pour l'utilisateur de solution vpxd-extensions sur chaque nœud de gestion.

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vpxd-extension.crt --privkey=vpxd-extension-key.priv --Name=vpxd-extension --server=<psc-ip-or-fqdn>
      
    5. Générez un certificat pour l'utilisateur de solution vsphere-webclient sur chaque nœud de gestion en exécutant la commande suivante.

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vsphere-webclient.crt --privkey=vsphere-webclient-key.priv --Name=vsphere-webclient --server=<psc-ip-or-fqdn>
  3. Remplacez les certificats d'utilisateurs de solutions dans VECS par les nouveaux certificats d'utilisateurs de solutions.

    Remarque :

    Les paramètres --store et --alias doivent correspondre exactement aux noms par défaut des services.

    1. Sur le nœud Platform Services Controller, exécutez la commande suivante pour remplacer le certificat d'utilisateur de solution de machine :

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store machine --alias machine
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store machine --alias machine --cert new-machine.crt --key machine-key.priv
      
    2. Remplacez le certificat d'utilisateur de solution de machine sur chaque nœud de gestion :

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store machine --alias machine
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store machine --alias machine --cert new-machine-vc.crt --key machine-vc-key.priv
      
    3. Remplacez le certificat d'utilisateur de solution vpxd sur chaque nœud de gestion.

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store vpxd --alias vpxd
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store vpxd --alias vpxd --cert new-vpxd.crt --key vpxd-key.priv
      
    4. Remplacez le certificat d'utilisateur de solution vpxd-extension sur chaque nœud de gestion.

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store vpxd-extension --alias vpxd-extension
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store vpxd-extension --alias vpxd-extension --cert new-vpxd-extension.crt --key vpxd-extension-key.priv
      
    5. Remplacez le certificat d'utilisateur de solution vsphere-webclient sur chaque nœud de gestion.

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store vsphere-webclient --alias vsphere-webclient
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store vsphere-webclient --alias vsphere-webclient --cert new-vsphere-webclient.crt --key vsphere-webclient-key.priv
      
  4. Mettez à jour VMware Directory Service (vmdir) avec les nouveaux certificats d'utilisateurs de solutions. Vous êtes invité à entrer un mot de passe d'administrateur vCenter Single Sign-On.

    1. Exécutez dir-cli service list pour obtenir le suffixe d'ID de service unique pour chaque utilisateur de solution. Vous pouvez exécuter cette commande sur un système Platform Services Controller ou vCenter Server.

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"dir-cli>dir-cli service list
      output:
      1. machine-29a45d00-60a7-11e4-96ff-00505689639a
      2. machine-6fd7f140-60a9-11e4-9e28-005056895a69
      3. vpxd-6fd7f140-60a9-11e4-9e28-005056895a69
      4. vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69
      5. vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69

      Remarque :

      Lorsque vous répertoriez les certificats d'utilisateurs de solutions dans des déploiements importants, le résultat de dir-cli list inclut tous les utilisateurs de solutions de tous les nœuds. Exécutez vmafd-cli get-machine-id --server-name localhost pour rechercher l'ID de machine locale de chaque hôte. Chaque nom d'utilisateur de solution comprend l'ID de machine.

    2. Remplacez le certificat de machine dans vmdir sur Platform Services Controller. Par exemple, si machine-29a45d00-60a7-11e4-96ff-00505689639a correspond à l'utilisateur de solution de machine sur Platform Services Controller, exécutez la commande suivante :

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"dir-cli service update --name machine-29a45d00-60a7-11e4-96ff-00505689639a --cert new-machine-1.crt
    3. Remplacez le certificat de machine dans vmdir sur chaque nœud de gestion. Par exemple, si machine-6fd7f140-60a9-11e4-9e28-005056895a69 correspond à l'utilisateur de solution de machine sur vCenter Server, exécutez la commande suivante :

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"dir-cli service update --name machine-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-machine-2.crt
    4. Remplacez le certificat d'utilisateur de solution vpxd dans vmdir sur chaque nœud de gestion. Par exemple, si vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 correspond à l'ID d'utilisateur de solution vpxd, exécutez la commande suivante :

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"dir-cli service update --name vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd.crt
    5. Remplacez le certificat d'utilisateur de solution vpxd-extension dans vmdir sur chaque nœud de gestion. Par exemple, si vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 correspond à l'ID d'utilisateur de solution vpxd-extension, exécutez la commande suivante :

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"dir-cli service update --name vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd-extension.crt
      
    6. Remplacez le certificat d'utilisateur de solution vsphere-webclient sur chaque nœud de gestion. Par exemple, si vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 correspond à l'ID d'utilisateur de solution vsphere-webclient, exécutez la commande suivante :

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"dir-cli service update --name vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vsphere-webclient.crt
      

Que faire ensuite

Redémarrez tous les services sur chaque nœud Platform Services Controller et chaque nœud de gestion.