Nachdem Sie das signierte Zertifikat von der Zertifizierungsstelle erhalten und zum VMCA-Rootzertifikat gemacht haben, können Sie alle Maschinen-SSL-Zertifikate ersetzen.

Warum und wann dieser Vorgang ausgeführt wird

Diese Schritte sind im Wesentlichen mit den Schritten zum Ersetzen durch ein Zertifikat, das VMCA als Zertifizierungsstelle verwendet, identisch. In diesem Fall signiert jedoch VMCA alle Zertifikate mit der vollständigen Zertifikatskette.

Für jede Maschine ist ein Maschinen-SSL-Zertifikat für die sichere Kommunikation mit anderen Diensten erforderlich. Bei einer Bereitstellung mit mehreren Knoten müssen Sie die Befehle zum Generieren von Maschinen-SSL-Zertifikaten auf jedem Knoten ausführen. Verwenden Sie den Parameter --server, um von einem vCenter Server mit externem Platform Services Controller aus auf den Platform Services Controller zu verweisen.

Voraussetzungen

SubjectAltName muss für jedes Maschinen-SSL-Zertifikat DNS Name=<Machine FQDN> enthalten.

Prozedur

  1. Erstellen Sie eine Kopie von certool.cfg für jede Maschine, für die ein neues Zertifikat erforderlich ist.

    certool.cfg finden Sie in den folgenden Speicherorten:

    Windows

    C:\Program Files\VMware\vCenter Server\vmcad

    Linux

    /usr/lib/vmware-vmca/share/config/

  2. Bearbeiten Sie die benutzerdefinierte Konfigurationsdatei für jede Maschine, um den FDQN dieser Maschine anzugeben.

    Führen Sie NSLookup für die IP-Adresse der Maschine aus, um die DNS-Liste für den Namen anzuzeigen, und verwenden Sie diesen Namen für das Feld „Hostname“ in der Datei.

  3. Generieren Sie für jede Maschine ein öffentliches/privates Schlüsseldateipaar sowie ein Zertifikat und übergeben Sie die Konfigurationsdatei, die Sie soeben angepasst haben.

    Beispiel:

    certool --genkey --privkey=machine1.priv --pubkey=machine1.pub
    certool --gencert --privkey=machine1.priv --cert machine42.crt --Name=Machine42_Cert --config machine1.cfg
  4. Beenden Sie alle Dienste und starten Sie die Dienste für die Zertifikaterstellung, Weitergabe und Speicherung.

    Die Dienstnamen sind unter Windows und bei der vCenter Server Appliance unterschiedlich.

    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. Fügen Sie VECS das neue Zertifikat hinzu.

    Alle Maschinen benötigen das neue Zertifikat im lokalen Zertifikatspeicher für die Kommunikation über SSL. Zunächst löschen Sie den vorhanden Eintrag und fügen dann den neuen Eintrag hinzu.

    vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT  
    vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert machine1.cert
    --key machine1.priv
  6. Starten Sie alle Dienste neu.
    service-control --start --all
    

Ersetzen der Maschinen-SSL-Zertifikate (VMCA ist die Zwischenzertifizierungsstelle)

  1. Erstellen Sie eine Konfigurationsdatei für das SSL-Zertifikat und speichern Sie sie unter dem Namen ssl-config.cfg im aktuellen Verzeichnis.

    Country = US
    Name = vmca-<PSC-FQDN-example>
    Organization = VMware
    OrgUnit = VMware Engineering
    State = California 
    Locality = Palo Alto
    Hostname = <FQDN>
  2. Generieren Sie ein Schlüsselpaar für das Maschinen-SSL-Zertifikat. Führen Sie diesen Befehl auf jedem Verwaltungsknoten und Platform Services Controller-Knoten aus. Die Option --server ist dabei nicht erforderlich.

    C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=ssl-key.priv --pubkey=ssl-key.pub
    

    Die Dateien ssl-key.priv und ssl-key.pub werden im aktuellen Verzeichnis erstellt.

  3. Generieren Sie das neue Maschinen-SSL-Zertifikat. Dieses Zertifikat ist VMCA-signiert. Wenn Sie das VMCA-Rootzertifikat durch ein benutzerdefiniertes Zertifikat ersetzt haben, signiert VMCA alle Zertifikate mit der vollständigen Zertifikatskette.

    • In einem Platform Services Controller-Knoten oder einer eingebetteten Installation:

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg
    • Auf einem vCenter Server (externe Installation):

      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg --server=<psc-ip-or-fqdn>

    Die Datei new-vmca-ssl.crt wird im aktuellen Verzeichnis erstellt.

  4. (Optional) Listen Sie den Inhalt von VECS auf.

    "C:\Program Files\VMware\vCenter Server\vmafdd\" vecs-cli store list
    • Beispiel-Ausgabe am Platform Services Controller:

      MACHINE_SSL_CERT
      TRUSTED_ROOTS
      TRUSTED_ROOT_CRLS
      machine
    • Beispiel-Ausgabe am vCenter Server:

      output (on vCenter):
      MACHINE_SSL_CERT
      TRUSTED_ROOTS
      TRUSTED_ROOT_CRLS
      machine
      vpxd
      vpxd-extension
      vsphere-webclient
      sms
  5. Ersetzen Sie das Maschinen-SSL-Zertifikat in VECS durch das neue Maschinen-SSL-Zertifikat. Die Werte --store und --alias müssen genau mit den Standardnamen übereinstimmen.

    • Führen Sie auf dem Platform Services Controller den folgenden Befehl aus, um das Maschinen-SSL-Zertifikat im MACHINE_SSL_CERT-Speicher zu aktualisieren.

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert new-vmca-ssl.crt --key ssl-key.priv
      
    • Führen Sie auf jedem Verwaltungsknoten oder für jede eingebettete Bereitstellung den folgenden Befehl aus, um das Maschinen-SSL-Zertifikat im MACHINE_SSL_CERT-Speicher zu aktualisieren. Sie müssen das Zertifikat für jede Maschine separat aktualisieren, da jedes Zertifikat einen unterschiedlichen FQDN aufweist.

      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert new-vmca-ssl.crt --key ssl-key.priv