Mise en place certificat vSphere Web Client et Log Browser

 

Ici, nous allons mettre en place le certificat vSphere Web Client et le certificat Log Browser de façon « manuel », c’est à dire sans utiliser l’outil vCenter Certificate Automation Tool 5.5

Loguez vous en administrateur sur le serveur.

Si ce n’est déjà fait, importer le Root64.cer dans le Windows certificate Store dans Trusted Root Certificate Authorities pour local computer.

Arrêter le service VMware vSphere Web Client et le service VMware Lob Browser :

 

ssl60

ssl61

 

Sauvegardez les fichiers rui.crt, rui.key et rui.pfx du dossier C:\ProgramData\VMware\vSphere Web Client\ssl\.

Sauvegardez les fichiers rui.crt, rui.key et rui.pfx du dossier C:\Program Files\VMware\Infrastructure\vSphereWebClient\logbrowser\conf.

Remplacez les fichiers sauvegardés par les nouveaux fichiers générés pour chaque composant :

 

ssl62

 

Ouvrez une invite de commande et tapez la commande suivante pour préparer l’environnement :

set JAVA_HOME=C:\Program Files\Common Files\VMware\VMware vCenter Server – Java Components

 

ssl63

 

Allez dans le dossier C:\Program Files\VMware\Infrastructure\vSphereWebClient\SsoRegTool\ et tapez la commande suivante :

regTool.cmd unregisterService -si « Installation_Directory\vSphereWebClient\serviceId » -d https://SSOServer.domain.com:7444/lookupservice/sdk -u administrator@vsphere.local -p password

Avec Installation_Directory qui est par défaut  C:\Program Files\VMware\Infrastructure.

Attention la commande est sensible à la casse.

 

ssl64

 

Cette commande permet de se dé-enregistrer du SSO.

L’étape suivante est de se ré-enregistrer auprès du SSO pour que les nouveaux certificats soient pris en compte. La commande suivante permet de se ré-enregistrer auprès du SSO :

regTool.cmd registerService –cert « C:\ProgramData\VMware\vSphere Web Client\ssl » –ls-url https://SSOServer.domain.com:7444/lookupservice/sdk –username administrator@vsphere.local –password password –dir « Installation_Directory\vSphereWebClient\SsoRegTool\sso_conf » –ip « *.* » –serviceId-file « Installation_Directory\vSphereWebClient\serviceId »

 

ssl65

 

Allez ensuite dans le dossier C:\Program Files\VMware\Infrastructure\vSphereWebClient et ouvrez le fichier serviceId et supprimer les deux anciens ID. Pour cela, vérifiez la dernière commande passée et supprimer les ID qui n’apparaissent pas dans la commande. Dans notre cas, nous devons garder les ID se terminant par 1f6c et 2cae qu’on retrouvent sur la capture au dessus :

Fichier « serviceId » avant modification :

 

ssl66

 

Fichier « serviceId » après modification :

 

ssl67

 

Démarrer les services VMware vSphere Web Client et VMware Lob Browser si vous êtes sur un serveur indépendant. Si tous vos éléments sont sur le même serveur, redémarrez le.

Au redémarrage, depuis votre navigateur connectez vous sur https://FQDN:9443/vsphere-client

Vous devez voir le certificat validé :

 

ssl68

 

 

 

 

 

Share

Mise en place certificat vCenter Server

 

Ici, nous allons mettre en place le certificat vCenterServer de façon « manuel », c’est à dire sans utiliser l’outil vCenter Certificate Automation Tool 5.5

Loguez vous en administrateur sur le serveur.

Si ce n’est déjà fait, importer le Root64.cer dans le Windows certificate Store dans Trusted Root Certificate Authorities pour local computer.

Ouvrez une invite de commande et allez dans le dossier  C:\ProgramData\VMware\VMware VirtualCenter\SSL.

Copiez les nouveaux certificats dans le dossier en ayant au préalable sauvegardés les anciens.

 

ssl50

 

A ce stade ne redémarrer surtout pas les services vCenter.

Via votre navigateur, connectez vous à l’url suivante. Loguez vous avec un compte administrateur du serveur vCenter. :

https://vcenterserverFQDN/mob/?moid=vpxd-securitymanager&vmodl=1

 

ssl51

 

Cliquez sur reloadSslCertificate :

 

ssl52

 

Cliquez sur Invoke Method. Si cela réussie, une page s’ouvre et le message Method Invocation Result: void s’affiche :

 

ssl53

 

Fermez les deux fenêtres. Dans une invite de commande DOS, allez dans le dossier C:\Program Files\VMware\Infrastructure\VirtualCenter Server\isregtool.

Tapez la commande suivante :

register-is.bat https://server.domain.com/sdk https://server.domain.com:10443/ https://server.domain.com:7444/lookupservice/sdk

 

ssl54

 

Le message ci-dessous doit apparaître :

 

 

ssl55

 

Si les valeurs 0 0 n’apparaissent pas, il y a un problème.

Allez dans le dossier  C:\Program Files\VMware\Infrastructure\VirtualCenter Server\

Tapez la commande « vpxd –p » afin de crypter le password de la base de données avec le nouveau certificat :

 

ssl56

 

ssl57

 

Redémarrer les services VirtualCenter Server et VMware vSphere Profile Driven Storage Service.

 

ssl58

 

Via un navigateur, tapez https://FQDN et vérifiez que le certificat est valide :

 

ssl59

 

 

 

Share

Mise en place certificat InventoryService

 

Ici, nous allons mettre en place le certificat Inventory Service de façon « manuel », c’est à dire sans utiliser l’outil vCenter Certificate Automation Tool 5.5 

Loguez vous en administrateur sur le serveur.

Si ce n’est déjà fait, importer le Root64.cer dans le Windows certificate Store dans Trusted Root Certificate Authorities pour local computer.

Ouvrez une invite de commande et allez dans le dossier  C:\Program Files\VMware\Infrastructure\Inventory Service\scripts.

Nous allons dé-enregistrer Inventory Service du SSO. Tapez la commande suivante  :

unregister-sso.bat https://ssoserver.domain.com:7444/lookupservice/sdk SSO_administrator_user SSO_administrator_password

-> ssoserver.domain.com correspond au FQDN de votre serveur SSO. Le port 7444 est celui par défaut, changez le si vous avez un port différent.

 

ssl44

 

Arrêter le service VMware vCenter Inventory Service :

net stop « vimqueryservice »

 

ssl45

 

Allez dans le dossier C:\ProgramData\VMware\Infrastructure\Inventory Service\ssl\.

Sauvegardez les anciens fichiers et remplacez les ensuite par les fichiers rui.crt, rui.key et rui.pfx :

 

ssl46

 

Redémarrez le service InventoryService :

 

ssl47

 

Lancez la commande suivante pour se ré-enregistrer auprès de SSO :

 register-sso.bat https://ssoserver.domain.com:7444/lookupservice/sdk. SSO_administrator_user SSO_administrator_password

ssl48

 

Vérifier avec votre navigateur qu’InventoryService fonctionne :

https://FQDN:10443/

Vous recevrez un 400 bad request page mais vous pouvez voir sir le certificat est validé :

 

ssl49

 

 

 

Share

Mise en place certificat SSO

 

Ici, nous allons mettre en place le certificat SSO de façon « manuel », c’est à dire sans utiliser l’outil vCenter Certificate Automation Tool 5.5 

Loguez-vous sur le serveur avec un compte administrateur. Ouvrez une invite de commande DOS et tapez les commandes suivantes pour préparer l’environnement :

C:\>SET JAVA_HOME=C:\Program Files\Common Files\VMware\VMware vCenter Server – Java Components

C:\>SET PATH=%PATH%;C:\Program Files\VMware\Infrastructure\VMware\CIS\vmware-sso;%JAVA_HOME%\bin

Vérifiez que le dossier C:\Program Data\VMware\SSL contient un fichier ca_certificates.crt et un fichier hash 8_characters.0 :

 

ssl28

 

Sauvegarder le dossier en SSL_old.

Enregistrez le certificat CA dans le VMware Trust Store en tapant les commandes suivantes :

C:\OpenSSL-Win32\bin> openssl x509 -noout -subject_hash -in C:\certs\Root64.cer

 

ssl29

 

Une valeur hexadécimale est renvoyé :

 

ssl30

 

Notez cette valeur.

Créer un nouveau dossier nommé SSL dans C:\Program Data\VMware\ et tapez la commande suivante dans une invite de commande DOS :

C:\> copy C:\certs\Root64.cer C:\ProgramData\VMware\SSL\hash.0

En remplaçant hash.0 par le numéro récupéré de la commande précédente. Pour nous le numéro 2162f32d :

 

ssl31

 

Tapez ensuite la commande suivante :

C:\> more C:\certs\Root64.cer >> C:\ProgramData\VMware\SSL\ca_certificates.crt

 

ssl32

 

Utiliser un éditeur de texte et créer 3 fichiers que vous sauvegardez dans c:\certs :

fichier « gc.properties »

  • gc.properties: [service]
    friendlyName=The group check interface of the SSO server
    version=1.5
    ownerId=
    productId=product:sso
    type=urn:sso:groupcheck
    description=The group check interface of the SSO server [endpoint0]
    uri=https://SSOserver.domain.com:7444/sso-adminserver/sdk/vsphere.local
    ssl=c:\certs\Root64.cer
    protocol=vmomi

 

fichier « admin.properties »

  • admin.properties: [service]
    friendlyName=The administrative interface of the SSO server
    version=1.5
    ownerId=
    productId=product:sso
    type=urn:sso:admin
    description=The administrative interface of the SSO server [endpoint0]
    uri=https://SSOServer.domain.com:7444/sso-adminserver/sdk/vsphere.local
    ssl=c:\certs\Root64.cer
    protocol=vmomi

 

fichier « stp.properties »

  • sts.properties: [service]
    friendlyName=STS for Single Sign On
    version=1.5
    ownerId=
    productId=product:sso
    type=urn:sso:sts
    description=The Security Token Service of the Single Sign On server. [endpoint0]
    uri=https://SSOserver.domain.com:7444/sts/STSService/vsphere.local
    ssl=c:\certs\Root64.cer
    protocol=wsTrust

Remplacer ce qui est en rouge par les bonnes valeurs :

 

ssl33

 

Lancez ensuite la commande suivante qui va lister les services du serveur :

C:\Program Files\VMware\Infrastructure\VMware\CIS\vmware-sso>ssolscli.cmd listServices https://FQDNSSO:7444/lookupservice/sdk

Vous devez avoir un résultat comme ci-dessous avec une liste de service :

 

ssl34

 

 

Localisez les 3 services SSO identifiés par les types « urn :sso :groupcheck », « urn :sso :admin » et « urn :sso :sts »

Pour nous ça donne, pour SSO Services :

 

ssl35

 

Pour SSO Admin :

 

ssl36

 

Pour Security Token Service :

 

ssl37

 

Notez la valeur du paramètre « viSite », dans notre exemple : LABO-BEID

Utilisez la valeur viSite et tapez les commandes suivantes pour récupérer les id dans des fichiers :

echo <Site Name>:IDService > c:\certs\gc_id
echo <Site Name>:IDService > c:\certs\admin_id
echo <Site Name>:IDService > c:\certs\sts_id

ssl38

 

Updater les 3 services en commençant par le service GroupCheck en tapant les commandes suivantes :

ssolscli updateService -d https://ssoserver.domain.com:7444/lookupservice/sdk -u administrator@vsphere.local -p SSO_administrator_password -si c:\certs\gc_id -ip c:\certs\gc.properties

 

ssl39

 

c:\> ssolscli updateService -d https://ssoserver.domain.com:7444/lookupservice/sdk -u administrator@vsphere.local -p SSO_administrator_password -si c:\certs\admin_id -ip c:\certs\admin.properties

 

ssl40

 

c:\> ssolscli updateService -d https://ssoserver.domain.com:7444/lookupservice/sdk -u administrator@vsphere.local -p SSO_administrator_password -si c:\certs\sts_id -ip c:\certs\sts.properties

 

ssl41

 

Allez ensuite dans le dossier C:\ProgramData\VMware\CIS\runtime\VMwareSTS\conf

Sauvegarder les fichiers ssoserver.p12, ssoserver.key et ssoserver.crt dans un autre dossier et remplacez-les par les nouveaux :

 

ssl42

 

Pour que les changements prennent effets, redémarrer le service VMware Secure Token Service :

 

ssl43

 

Le certificat SSO est maintenant remplacé. Nous pouvons passer au certificat Inventory Service.

 

 

 

Share

Obtenir les certificats rui.crt, le Root64.Cer et les fichiers pfx et p12

Obtenir le certificat rui.crt pour chaque composant

 

Nous allons ici générer pour chaque composant le certificat rui.crt. 

Pour chaque composant, utilisez ici, le fichier rui.csr généré au préalable et fournissez le à l’autorité de certification qui vous renverra le certificat généré.

Si vous disposez d’une URL vous permettant de générer une demande de certificat, connectez-vous à l’url : http://servername/CertSrv/

Cliquez sur le lien « Request a certificat » :

 

ssl08

 

Cliquez sur Advanced Certificate Request :

 

ssl09

 

Cliquez sur le lien “Submit a certificat request by using a base-64-encoded CMC or PKCS #10 file, or submit a renewal request by using a base-64-encoded PKCS #7 file” :

 

ssl10

 

Ouvrez votre fichier rui.csr généré au préalable pour chaque composant et coller le texte entre les lignes suivantes :

—–BEGIN CERTIFICATE REQUEST—– to —–END CERTIFICATE REQUEST—–

 

ssl11

 

Cliquez sur « Submit ». Ensuite cliquez sur Base 64 encoded :

 

ssl12

 

Cliquez sur Download certificate pour sauvegarder le fichier rui.crt pour votre composant.

Effectuez ces étapes pour chaque composant afin de récupérer le rui.crt pour chaque composant.

 

Obtenir le CA certificate

 

Pour récupérer ensuite le CA Certificate, cliquez sur le lien « Download a CA certificate, certificate chain, or CRL » :

 

ssl13

 

Sélectionnez le certificat et choisir Base 64 :

 

ssl14

 

Cliquez sur « Download CA certificate chain et sauvegardez le fichier sous cachain.p7b.

Double cliquez sur le fichier et faites un export en Base-64-encoded X.509 (.CER) et sauvegarder le fichier sous le nom Root64.cer :

 

ssl15

 

Editer le fichier cer et vérifiez que la première ligne commence par —–BEGIN CERTIFICATE—– et que la dernière ligne soit —–END CERTIFICATE—–

Si ce n’est pas le cas, supprimez tout ce qui se trouve avant —–BEGIN CERTIFICATE—– et tout ce se trouve après —–END CERTIFICATE—– 

ssl16

 

 

Créer le certificat PFX/P12

 

Une fois le certificat d’autorité Root et les certificats pour chaque service récupérés, il vous faut créer le certificat PFX ou P12 pour chaque composant.

 

Création pour tous les composants hormis SSO :

Ouvrez une invite de commande DOS et utilisez openssl.exe. Pour chaque composant, hormis SSO, tapez les commandes suivantes :

Exemple pour InventoryService avec le certificat rui.crt créé au préalable et le certificat Root64.cer qui est le certificat Root d’autorité de certification :

openssl pkcs12 -export -in c:\certs\InventoryService\rui.crt -inkey c:\certs\InventoryService\rui.key -certfile c:\certs\Root64.cer -name « rui » -passout pass:testpassword -out c:\certs\InventoryService\rui.pfx

 

ssl17

 

Le fichier rui.pfx est créé.

 

ssl18

 

Le pass doit être « testpassword » pour tous les composants hormis le SSO et le fichier généré doit être un rui.pfx pour tous les composants hormis pour le SSO.

Réalisez les mêmes opérations pour tous les composants sauf le SSO.

 

Création pour le composant SSO :

Pour SSO, nous allons créer un certificat p12. Utilisez le certificat rui.crt créé au préalable et le certificat Root64.cer qui est le certificat Root d’autorité de certification.

Tapez la commande suivante :

openssl pkcs12 -export -in c:\certs\sso\rui.crt -inkey c:\certs\sso\rui.key -certfile c:\certs\Root64.cer -name « ssoserver » -passout pass:changeme -out c:\certs\sso\ssoserver.p12

Le pass doit être « changeme » pour le composant SSO et le fichier généré doit être ssoserver.p12 avec comme alias « ssoserver ». Le fichier suivant est créé :

 

ssl19

 

Une fois les certificats créés, nous allons passer à l’étape d’implémentation des certificats pour chaque composant. Vous pouvez choisir de mettre en place un certificat que pour le WebClient ou que pour le vCenter par exemple. Chaque composant est indépendant. 

 

 

Share