Das von einer Zertifizierungsstelle signierte Zertifikat, das Sie importiert haben, ist abgelaufen.

Problem

Das von einer Zertifizierungsstelle signierte Zertifikat, das Sie auf den Host der NSX Manager-Appliance importiert haben, ist abgelaufen, und Sie können nicht mehr mit der NSX Application Platform arbeiten. Sie müssen ein selbstsigniertes, von einer Zertifizierungsstelle signiertes Zertifikat delegieren, um weiterhin mit der NSX Application Platform und den darin enthaltenen NSX-Funktionen arbeiten zu können.

Ursache

Die Standardablaufzeit für ein von einer Zertifizierungsstelle signiertes Zertifikat beträgt 825 Tage. Die selbstsignierten Zertifikate des Systems werden automatisch erneuert. Wenn Sie ein benutzerdefiniertes, von einer Zertifizierungsstelle signiertes Zertifikat importieren, müssen Sie den Lebenszyklus dieses Zertifikats aufrechterhalten. Wenn Sie vergessen, es zu erneuern, wird die Verbindung zwischen der NSX Application Platform und der NSX Manager Unified Appliance unterbrochen und Sie können nicht mehr mit der NSX Application Platform und den darin enthaltenen NSX-Funktionen arbeiten.

Lösung

  1. Melden Sie sich bei der NSX Manager-Appliance als Root-Benutzer an.
  2. Delegieren Sie mit dem folgenden kubectl-Befehl an der NSX Manager-Eingabeaufforderung an ein selbstsigniertes von einer Zertifizierungsstelle signiertes Zertifikat.
    system prompt> kubectl patch certificate ca-cert -n cert-manager --type='json' -p='[{"op": "replace", "path": "/spec/secretName", "value":"ca-key-pair"}]'
  3. Warten Sie etwa 30 Sekunden und exportieren Sie dann das Egress-Zertifikat, indem Sie die folgenden Befehle kubectl und cat nacheinander an der NSX Manager-Eingabeaufforderung eingeben.
    system prompt> kubectl get secret -n nsxi-platform egress-tls-cert -o=jsonpath='{.data.tls\.crt}' | base64 -d - > tls.crt
    system prompt> kubectl get secret -n nsxi-platform egress-tls-cert -o=jsonpath='{.data.ca\.crt}' | base64 -d - > ca.crt
    system prompt> cat tls.crt ca.crt > egress.crt
  4. Importieren Sie die egress.crt mithilfe der Benutzeroberfläche in die NSX Manager-Appliance und führen Sie die Zertifikat-UUID aus.
    1. Melden Sie sich über Ihren Browser unter https://<nsx-manager-ip-address> mit Unternehmensadministratorrechten bei einem NSX Manager an.
    2. Navigieren Sie zu System > Zertifikate, klicken Sie auf Importieren und wählen Sie im Dropdown-Menü Zertifikat aus.
    3. Geben Sie einen Namen für das Zertifikat ein.
    4. Legen Sie Dienstzertifikat auf Nein fest.
    5. Fügen Sie im Textfeld Zertifikatsinhalte den Inhalt der Datei egress.crt ein, die Sie im vorherigen Schritt erstellt haben.
    6. Klicken Sie auf Speichern.
    7. Erweitern Sie in der Tabelle „Zertifikate“ die Zeile für das neu hinzugefügte Zertifikat und kopieren Sie den Wert der Zertifikat-ID.
  5. Rufen Sie in der Root-Benutzersitzung der NSX Manager-Appliance die PricinpleIdentity cloudnative_platform_egress UUID mithilfe des folgenden curl-Befehls an der Systemeingabeaufforderung ab.
    system prompt> curl -ku 'admin:yourAdminPassword' https://127.0.0.1/api/v1/trust-management/principal-identities
  6. Binden Sie die PrincipleIdentity mit der importierten Zertifikats-ID, indem Sie den folgenden curl-Befehl an der Systemeingabeaufforderung eingeben.
    curl -ku 'admin:yourAdminPassword' https://127.0.0.1/api/v1/trust-management/principal-identities?action=update_certificate -X POST -H "Content-Type: application/json" -H "X-Allow-Overwrite: true" -d '{"principal_identity_id": "<PI-UUID>", "certificate_id": "<EGRESS-CERT-ID>"}'