Wenn es von Ihrer Unternehmensrichtlinie verlangt wird, können Sie mithilfe der CLI bestimmte oder alle in vSphere verwendeten Zertifikate durch Zertifikate ersetzen, die von einer Zertifizierungsstelle eines Drittanbieters oder Unternehmens signiert wurden. In diesem Fall ist VMCA in Ihrer Zertifikatskette nicht enthalten. Sie sind selbst für das Speichern aller vCenter-Zertifikate im VECS verantwortlich.

Sie können alle Zertifikate ersetzen oder eine Hybridlösung verwenden. Ersetzen Sie beispielsweise alle Zertifikate, die für Netzwerkdatenverkehr verwendet werden, und belassen Sie VMCA-signierte Lösungsbenutzerzertifikate. Lösungsbenutzerzertifikate werden nur für die Authentifizierung bei vCenter Single Sign On verwendet. vCenter Server verwendet Lösungsbenutzerzertifikate nur für die interne Kommunikation. Lösungsbenutzerzertifikate werden nicht für die externe Kommunikation verwendet.
Hinweis: Wenn Sie VMCA nicht verwenden möchten, müssen Sie selbst alle Zertifikate ersetzen, neue Komponenten mit Zertifikaten bereitstellen und den Ablauf von Zertifikaten nachverfolgen.

Auch wenn Sie benutzerdefinierte Zertifikate verwenden, können Sie den VMware Certificate Manager verwenden, um Zertifikate zu ersetzen. Weitere Informationen hierzu finden Sie unter Ersetzen aller Zertifikate durch ein benutzerdefiniertes Zertifikat mithilfe des Certificate Manager.

Falls nach dem Ersetzen von Zertifikaten Probleme mit vSphere Auto Deploy auftreten, erhalten Sie weitere Informationen im VMware-Knowledgebase-Artikel unter https://kb.vmware.com/s/article/2000988.

Anfordern von Zertifikaten und Importieren eines benutzerdefinierten Rootzertifikats mithilfe der CLI

Sie können benutzerdefinierte Zertifikate von einer Unternehmens- oder Drittanbieter-Zertifizierungsstelle verwenden. Der erste Schritt besteht darin, die Zertifikate von der Zertifizierungsstelle anzufordern und dann die CLI zu nutzen, um die Rootzertifikate in den VMware Endpoint Certificate Store (VECS) zu importieren.

Voraussetzungen

Das Zertifikat muss die folgenden Anforderungen erfüllen:

  • Schlüsselgröße: 2048 Bit (Minimum) bis 8192 (Maximum) (PEM-codiert)
  • PEM-Format. VMware unterstützt PKCS8 und PKCS1 (RSA-Schlüssel). Wenn Schlüssel zu VECS hinzugefügt werden, werden sie in PKCS8 konvertiert.
  • x509 Version 3
  • Für Stammzertifikate muss die Zertifizierungsstellenerweiterung auf „true“ festgelegt sein, und „cert sign“ muss in der Liste der Anforderungen vorhanden sein.
  • „SubjectAltName“ muss DNS-Name=<Maschinen-FQDN> enthalten.
  • CRT-Format
  • Enthält die folgenden Schlüsselverwendungen: digitale Signatur, Schlüsselverschlüsselung
  • Startzeit von einem Tag vor dem aktuellen Zeitpunkt.
  • CN (und SubjectAltName) auf den Hostnamen (oder die IP-Adresse) festgelegt, den/die der ESXi-Host in der vCenter Server-Bestandsliste hat.
Hinweis: Das FIPS-Zertifikat von vSphere validiert nur RSA-Schlüsselgrößen von 2048 Bit und 3072 Bit.

Prozedur

  1. Senden Sie die Zertifikatssignieranforderungen (CSRs) für die folgenden Zertifikate an Ihren Unternehmens- oder Drittanbieter-Zertifikatanbieter.
    • Ein Maschinen-SSL-Zertifikat für jede Maschine. Für das Maschinen-SSL-Zertifikat muss das Feld „SubjectAltName“ den vollqualifizierten Domänennamen (DNS NAME=Maschinen-FQDN) enthalten.
    • Optional fünf Lösungsbenutzerzertifikate für jeden Knoten. Lösungsbenutzerzertifikate müssen keine IP-Adresse, keinen Hostnamen und keine E-Mail-Adresse enthalten. Für jedes Zertifikat ist ein unterschiedlicher Zertifikatantragsteller erforderlich.

    Das Ergebnis ist in der Regel eine PEM-Datei für die Vertrauenskette, einschließlich der signierten SSL-Zertifikate für jeden vCenter Server-Knoten.

  2. Listen Sie die TRUSTED_ROOTS- und Maschinen-SSL-Speicher auf.
    vecs-cli store list 
    
    1. Stellen Sie sicher, dass das aktuelle Rootzertifikat und alle Maschinen-SSL-Zertifikate von VMCA signiert wurden.
    2. Notieren Sie sich den Inhalt der Felder „Seriennummer“, „Aussteller“ und „Subjektname“.
    3. (Optional) Stellen Sie mithilfe eines Webbrowsers eine HTTPS-Verbindung zu einem Knoten her, auf dem das Zertifikat ersetzt werden soll. Sehen Sie sich die Zertifikatsinformationen an und stellen Sie sicher, dass sie mit dem Maschinen-SSL-Zertifikat übereinstimmen.
  3. Beenden Sie alle Dienste und starten Sie die Dienste für die Zertifikaterstellung, Weitergabe und Speicherung.
    service-control --stop --all
    service-control --start vmafdd
    service-control --start vmdird
    service-control --start vmcad
    
  4. Veröffentlichen Sie das benutzerdefinierte Stammzertifikat.
    dir-cli trustedcert publish --cert <my_custom_root>
    Wenn Sie in der Befehlszeile keinen Benutzernamen und kein Kennwort eingeben, werden Sie zur Eingabe dieser Informationen aufgefordert.
  5. Starten Sie alle Dienste neu.
    service-control --start --all

Nächste Maßnahme

Sie können das ursprüngliche VMCA-Root-Zertifikat aus dem Zertifikatspeicher entfernen, wenn die Unternehmensrichtlinien dies verlangen. In diesem Fall müssen Sie das vCenter Single Sign-On-Zertifikat aktualisieren. Weitere Informationen hierzu finden Sie unter Ersetzen eines vCenter Server-STS-Zertifikats über die Befehlszeile.

Ersetzen der Maschinen-SSL-Zertifikate durch benutzerdefinierte Zertifikate anhand der CLI

Nachdem Sie die benutzerdefinierten Zertifikate erhalten haben, können Sie die CLI verwenden, um jedes Maschinenzertifikat zu ersetzen.

Sie benötigen die folgenden Informationen, bevor Sie mit dem Ersetzen der Zertifikate beginnen können:
  • Kennwort für „[email protected]
  • Gültiges benutzerdefiniertes Maschinen-SSL-Zertifikat (.crt-Datei)
  • Gültiger benutzerdefinierter Maschinen-SSL-Schlüssel (.key-Datei)
  • Gültiges benutzerdefiniertes Zertifikat für Root (.crt-Datei)

Voraussetzungen

Sie müssen für jede Maschine ein Zertifikat von Ihrer Drittanbieter- oder Unternehmenszertifizierungsstelle erhalten haben.

  • Schlüsselgröße: 2048 Bit (Minimum) bis 8192 (Maximum) (PEM-codiert)
  • CRT-Format
  • x509 Version 3
  • „SubjectAltName“ muss DNS-Name=<Maschinen-FQDN> enthalten.
  • Enthält die folgenden Schlüsselverwendungen: digitale Signatur, Schlüsselverschlüsselung

Führen Sie diese Schritte auf jedem vCenter Server-Host durch.

Prozedur

  1. Sichern Sie das aktuelle Maschinen-SSL-Zertifikat.
    /usr/lib/vmware-vmafd/bin/vecs-cli entry getcert --store MACHINE_SSL_CERT --alias __MACHINE_CERT > oldmachine.crt
    /usr/lib/vmware-vmafd/bin/vecs-cli entry getkey --store MACHINE_SSL_CERT --alias __MACHINE_CERT > oldmachinekey.key
  2. Melden Sie sich bei jedem Host an und fügen Sie die neuen Maschinenzertifikate, die Sie von der Zertifizierungsstelle erhalten haben, zu VECS hinzu.
    Alle Hosts benötigen das neue Zertifikat im lokalen Zertifikatspeicher für die Kommunikation über SSL.
    1. Löschen Sie das vorhandene Zertifikat.
      /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
    2. Fügen Sie das neue Zertifikat hinzu.
      /usr/lib/vmware-vmafd/bin/vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert <cert-file-path> --key <key-file-path>
  3. Extrahieren Sie den Hash des alten Zertifikats, das ersetzt werden soll.
    openssl x509 -in <path_to_old_machinessl_certificate> -noout -sha1 -fingerprint

    Es wird eine Ausgabe ähnlich der folgenden angezeigt:

    SHA1 Fingerprint=13:1E:60:93:E4:E6:59:31:55:EB:74:51:67:2A:99:F8:3F:04:83:88
  4. Aktualisieren Sie den Endpoint für die Lookup Service-Registrierung manuell.
    /usr/lib/vmware-lookupsvc/tools/ls_update_certs.py --url https://<vCenterServer_FQDN>/lookupservice/sdk --certfile <cert-file-path> --user '[email protected]' --password '<password>' --fingerprint <SHA1_hash_of_the_old_certificate_to_replace>

    Wenn beim Ausführen von ls_update_certs.py Probleme auftreten, lesen Sie den VMware Knowledgebase-Artikel unter https://kb.vmware.com/s/article/95982.

  5. Starten Sie alle Dienste neu.
    service-control --stop --all && service-control --start --all