Wenn das Rootzertifikat der VMware Certificate Authority (VMCA) in naher Zukunft abläuft oder wenn Sie es aus anderen Gründen ersetzen möchten, können Sie über die CLI ein neues Rootzertifikat generieren und zum VMware-Verzeichnisdienst hinzufügen. Anschließend können Sie neue Maschinen-SSL-Zertifikate und Lösungsbenutzerzertifikate mithilfe des neuen Rootzertifikats generieren.
In den meisten Fällen können Sie das Dienstprogramm vSphere Certificate Manager zum Ersetzen von Zertifikaten verwenden.
Für die detailliertere Kontrolle finden Sie in diesem Szenario ausführliche schrittweise Anleitungen zum Ersetzen aller Zertifikate mithilfe von CLI-Befehlen. Mit der Vorgehensweise für die entsprechende Aufgabe können Sie stattdessen auch nur einzelne Zertifikate ersetzen.
Voraussetzungen
Nur „[email protected]“ oder andere Benutzer in der Gruppe „CAAdmins“ können Zertifikatverwaltungsaufgaben durchführen. Weitere Informationen hierzu finden Sie unter Hinzufügen von Mitgliedern zu einer vCenter Single Sign On-Gruppe.
Generieren eines neuen VMCA-signierten Rootzertifikats mithilfe der CLI
Neue VMCA-signierte Zertifikate können Sie mit der certool-Befehlszeilenschnittstelle (CLI) erstellen und in vmdir veröffentlichen.
Prozedur
Beispiel: Generieren eines neuen VMCA-signierten Stammzertifikats
- (Optional) Listen Sie auf dem vCenter Server das VMCA-Root-Zertifikat auf, um sicherzustellen, dass es sich im Zertifikatspeicher befindet.
/usr/lib/vmware-vmca/bin/certool --getrootca
Die Ausgabe sieht so oder ähnlich aus:output: Certificate: Data: Version: 3 (0x2) Serial Number: cf:2d:ff:49:88:50:e5:af ...
- (Optional) Listen Sie den VECS TRUSTED_ROOTS-Speicher auf und vergleichen Sie die Seriennummer des Zertifikats mit der Ausgabe aus Schritt 1.
/usr/lib/vmware-vmafd/bin/vecs-cli entry list --store TRUSTED_ROOTS --text
Im einfachsten Fall mit nur einem Root-Zertifikat sieht die Ausgabe wie folgt aus:Number of entries in store : 1 Alias : 960d43f31eb95211ba3a2487ac840645a02894bd Entry type : Trusted Cert Certificate: Data: Version: 3 (0x2) Serial Number: cf:2d:ff:49:88:50:e5:af
- Generieren Sie ein neues VMCA-Root-Zertifikat. Der Befehl fügt das Zertifikat zum TRUSTED_ROOTS-Speicher in VECS und in vmdir (VMware Directory Service) hinzu.
/usr/lib/vmware-vmca/bin/certool --selfca --config=/usr/lib/vmware-vmca/share/config/certool.cfg
Ersetzen der Maschinen-SSL-Zertifikate durch VMCA-signierte Zertifikate anhand der CLI
Nachdem Sie ein neues VMCA-signiertes Rootzertifikat generiert haben, können Sie den Befehl vecs-cli verwenden, um alle Maschinen-SSL-Zertifikate in Ihrer Umgebung zu ersetzen.
Für jede Maschine ist ein Maschinen-SSL-Zertifikat für die sichere Kommunikation mit anderen Diensten erforderlich. Wenn mehrere vCenter Server-Instanzen in der Konfiguration des erweiterten verknüpften Modus verbunden sind, müssen Sie die Befehle zum Generieren von Maschinen-SSL-Zertifikaten auf jedem Knoten ausführen.
Voraussetzungen
Sie sollten darauf vorbereitet sein, alle Dienste zu beenden und die Dienste für die Weitergabe und Speicherung von Zertifikaten zu starten.
Prozedur
Beispiel: Ersetzen der Maschinenzertifikate durch VMCA-signierte Zertifikate
- 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-<FQDN-example> Organization = <my_company> OrgUnit = <my_company Engineering> State = <my_state> Locality = <mytown> Hostname = <FQDN>
- Generieren Sie ein Schlüsselpaar für das Maschinen-SSL-Zertifikat. Führen Sie diesen Befehl auf jedem vCenter Server-Knoten in einer Bereitstellung mit mehreren vCenter Server-Instanzen aus, die in der Konfiguration des erweiterten verknüpften Modus verbunden sind.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=ssl-key.priv --pubkey=ssl-key.pub
Die Dateien ssl-key.priv und ssl-key.pub werden im aktuellen Verzeichnis erstellt.
- 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.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg
Die Datei new-vmca-ssl.crt wird im aktuellen Verzeichnis erstellt.
- (Optional) Listen Sie den Inhalt von VECS auf.
/usr/lib/vmware-vmafd/bin/vecs-cli store list
- Beispiel-Ausgabe am vCenter Server:
output (on vCenter): MACHINE_SSL_CERT TRUSTED_ROOTS TRUSTED_ROOT_CRLS machine vsphere-webclient vpxd vpxd-extension hvc data-encipherment APPLMGMT_PASSWORD SMS wcp KMS_ENCRYPTION
- Beispiel-Ausgabe am vCenter Server:
- 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 jedem vCenter Server die folgenden Befehle 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.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT /usr/lib/vmware-vmafd/bin/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 vCenter Server die folgenden Befehle 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.
Nächste Maßnahme
Sie können auch die Zertifikate für Ihre ESXi-Hosts ersetzen. Weitere Informationen finden Sie in der Dokumentation zu vSphere-Sicherheit.
Ersetzen von Lösungsbenutzerzertifikaten durch neue VMCA-signierte Zertifikate über die CLI
Nachdem Sie die Maschinen-SSL-Zertifikate ersetzt haben, können Sie mit dem dir-cli-Befehl alle Lösungsbenutzerzertifikate ersetzen. Lösungsbenutzerzertifikate müssen gültig sein (also nicht abgelaufen), aber die anderen Informationen des Zertifikats werden nicht von der Zertifikatinfrastruktur verwendet.
- Zertifikate befinden sich entweder hinter einem Proxy-Server oder stellen benutzerdefinierte Zertifikate dar.
- Es werden keine Zwischenzertifizierungsstellen verwendet.
Sie ersetzen das Lösungsbenutzerzertifikat der Maschine und das Lösungsbenutzerzertifikat auf jedem vCenter Server-System.
Voraussetzungen
Sie sollten darauf vorbereitet sein, alle Dienste zu beenden und die Dienste für die Weitergabe und Speicherung von Zertifikaten zu starten.
Prozedur
Beispiel: Verwenden von VMCA-signierten Lösungsbenutzerzertifikaten
- Generieren Sie ein öffentliches/privates Schlüsselpaar für alle Lösungsbenutzer auf sämtlichen vCenter Server-Knoten in einer Konfiguration des erweiterten verknüpften Modus. Hierzu gehören ein Paar für die Maschinenlösung und ein Paar für jeden zusätzlichen Lösungsbenutzer (vpxd, vpxd-extension, vsphere-webclient, wcp).
- Generieren Sie ein Schlüsselpaar für den Lösungsbenutzer „machine“.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=machine-key.priv --pubkey=machine-key.pub
- Generieren Sie ein Schlüsselpaar für den Lösungsbenutzer „vpxd“ auf jedem Knoten.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-key.priv --pubkey=vpxd-key.pub
- Generieren Sie ein Schlüsselpaar für den Lösungsbenutzer „vpxd-extension“ auf jedem Knoten.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vpxd-extension-key.priv --pubkey=vpxd-extension-key.pub
- Generieren Sie ein Schlüsselpaar für den Lösungsbenutzer „vsphere-webclient“ auf jedem Knoten.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=vsphere-webclient-key.priv --pubkey=vsphere-webclient-key.pub
- Generieren Sie ein Schlüsselpaar für den Lösungsbenutzer „wcp“ auf jedem Knoten.
/usr/lib/vmware-vmca/bin/certool --genkey --privkey=wcp-key.priv --pubkey=wcp-key.pub
- Generieren Sie ein Schlüsselpaar für den Lösungsbenutzer „machine“.
- Generieren Sie vom neuen VMCA-Stammzertifikat signierte Lösungsbenutzerzertifikate für den Lösungsbenutzer „machine“ und für jeden zusätzlichen Lösungsbenutzer (vpxd, vpxd-extension, vsphere-webclient, wcp) auf allen vCenter Server-Knoten.
Hinweis: Der Parameter --Name muss eindeutig sein. Durch die Angabe des Namens des Lösungsbenutzerspeichers ist auf einfache Weise erkennbar, welches Zertifikat welchem Lösungsbenutzer zugeordnet ist. Dieses Beispiel umfasst in jedem Fall den Namen, z. B. vpxd oder vpxd-extension.
- Erstellen Sie eine Kopie der Datei /usr/lib/vmware-vmca/share/config/certool.cfg und ändern oder entfernen Sie dann nach Bedarf die Felder „Name“, „IP-Adresse“, „DNS-Name“ und „E-Mail-Adresse“ und benennen Sie die Datei um, z. B. in sol_usr.cfg.
- Generieren Sie ein Zertifikat für den Lösungsbenutzer „machine“ auf jedem Knoten.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-machine.crt --privkey=machine-key.priv --Name=machine --config sol_usr.cfg
- Generieren Sie ein Zertifikat für den Lösungsbenutzer „vpxd“ auf jedem Knoten.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd.crt --privkey=vpxd-key.priv --Name=vpxd --config sol_usr.cfg
- Generieren Sie ein Zertifikat für den Lösungsbenutzer „vpxd-extension“ auf jedem Knoten.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vpxd-extension.crt --privkey=vpxd-extension-key.priv --Name=vpxd-extension --config sol_usr.cfg
- Generieren Sie ein Zertifikat für den Lösungsbenutzer „vsphere-webclient“ auf jedem Verwaltungsknoten, indem Sie folgenden Befehl ausführen.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-vsphere-webclient.crt --privkey=vsphere-webclient-key.priv --Name=vsphere-webclient --config sol_usr.cfg
- Generieren Sie ein Zertifikat für den Lösungsbenutzer wcp auf jedem Knoten, indem Sie den folgenden Befehl ausführen.
/usr/lib/vmware-vmca/bin/certool --gencert --cert=new-wcp.crt --privkey=wcp-key.priv --Name=wcp --config sol_usr.cfg
- Ersetzen Sie die Lösungsbenutzerzertifikate in VECS durch die neuen Lösungsbenutzerzertifikate.
Hinweis: Die Parameter --store und --alias müssen genau mit den Standardnamen für die Dienste übereinstimmen.
- Ersetzen Sie das Lösungsbenutzerzertifikat „machine“ auf jedem Verwaltungsknoten:
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store machine --alias machine /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store machine --alias machine --cert new-machine.crt --key machine-key.priv
- Ersetzen Sie das Lösungsbenutzerzertifikat „vpxd“ auf jedem Knoten.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vpxd --alias vpxd /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vpxd --alias vpxd --cert new-vpxd.crt --key vpxd-key.priv
- Ersetzen Sie das Lösungsbenutzerzertifikat „vpxd-extension“ auf jedem Knoten.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vpxd-extension --alias vpxd-extension /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vpxd-extension --alias vpxd-extension --cert new-vpxd-extension.crt --key vpxd-extension-key.priv
- Ersetzen Sie das Lösungsbenutzerzertifikat „vsphere-webclient“ auf jedem Knoten.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store vsphere-webclient --alias vsphere-webclient /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store vsphere-webclient --alias vsphere-webclient --cert new-vsphere-webclient.crt --key vsphere-webclient-key.priv
- Ersetzen Sie das Lösungsbenutzerzertifikat „wcp“ auf jedem Knoten.
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store wcp --alias wcp /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store wcp --alias wcp --cert new-wcp.crt --key wcp-key.priv
- Ersetzen Sie das Lösungsbenutzerzertifikat „machine“ auf jedem Verwaltungsknoten:
- Aktualisieren Sie den VMware Directory Service (vmdir) mit den neuen Lösungsbenutzerzertifikaten. Sie werden Zur Eingabe eines vCenter Single Sign On-Administratorkennworts aufgefordert.
- Führen Sie /usr/lib/vmware-vmafd/bin/dir-cli service list aus, um für jeden Lösungsbenutzer das eindeutige Dienst-ID-Suffix abzurufen. Sie führen diesen Befehl auf einem vCenter Server-System aus.
/usr/lib/vmware-vmafd/bin/dir-cli service list output: 1. machine-623bef28-0311-436e-b21f-6e0d39aa5179 2. vsphere-webclient-623bef28-0311-436e-b21f-6e0d39aa5179 3. vpxd-623bef28-0311-436e-b21f-6e0d39aa5179 4. vpxd-extension-623bef28-0311-436e-b21f-6e0d39aa5179 5. hvc-623bef28-0311-436e-b21f-6e0d39aa5179 6. wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e
Hinweis: Wenn Sie Lösungsbenutzerzertifikate bei großen Bereitstellungen auflisten, enthält die Ausgabe von /usr/lib/vmware-vmafd/bin/dir-cli list alle Lösungsbenutzer aus allen Knoten. Führen Sie /usr/lib/vmware-vmafd/bin/vmafd-cli get-machine-id --server-name localhost aus, um für jeden Host nach der lokalen Maschinen-ID zu suchen. Jeder Lösungsbenutzername enthält die Maschinen-ID. - Ersetzen Sie das Zertifikat „machine“ im VM-Verzeichnis auf jedem vCenter Server-Knoten. Wenn beispielsweise „machine-6fd7f140-60a9-11e4-9e28-005056895a69“ der Lösungsbenutzer „machine“ auf dem vCenter Server ist, führen Sie diesen Befehl aus:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name machine-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-machine.crt
- Ersetzen Sie das Lösungsbenutzerzertifikat „vpxd“ im VM-Verzeichnis auf jedem Knoten. Wenn beispielsweise „vpxd-6fd7f140-60a9-11e4-9e28-005056895a69“ die vpxd-Lösungsbenutzer-ID ist, führen Sie diesen Befehl aus:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd.crt
- Ersetzen Sie das Lösungsbenutzerzertifikat „vpxd-extension“ im VM-Verzeichnis auf jedem Knoten. Wenn beispielsweise „vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69“ die vpxd-extension-Lösungsbenutzer-ID ist, führen Sie diesen Befehl aus:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vpxd-extension-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vpxd-extension.crt
- Ersetzen Sie das Lösungsbenutzerzertifikat „vsphere-webclient“ auf jedem Knoten. Wenn beispielsweise „vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69“ die vsphere-webclient-Lösungsbenutzer-ID ist, führen Sie diesen Befehl aus:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name vsphere-webclient-6fd7f140-60a9-11e4-9e28-005056895a69 --cert new-vsphere-webclient.crt
- Ersetzen Sie das Lösungsbenutzerzertifikat „wcp“ auf jedem Knoten. Wenn beispielsweise wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e die ID des Lösungsbenutzers „wcp“ ist, führen Sie folgenden Befehl aus:
/usr/lib/vmware-vmafd/bin/dir-cli service update --name wcp-1cbe0a40-e4ce-4378-b5e7-9460e2b8200e --cert new-wcp.crt
- Führen Sie /usr/lib/vmware-vmafd/bin/dir-cli service list aus, um für jeden Lösungsbenutzer das eindeutige Dienst-ID-Suffix abzurufen. Sie führen diesen Befehl auf einem vCenter Server-System aus.
Nächste Maßnahme
Starten Sie alle Dienste auf sämtlichen vCenter Server-Knoten neu.