Der erste Schritt beim Ersetzen des VMCA-Zertifikats durch benutzerdefinierte Zertifikate besteht im Generieren einer Zertifikatsignieranforderung (Certificate Signing Request, CSR) sowie im Senden der zu signierenden CSR. Anschließend fügen Sie das signierte Zertifikat als Root-Zertifikat zu VMCA hinzu.

Sie können das Certificate Manager-Dienstprogramm oder ein anderes Tool zum Generieren der Signaturanforderung verwenden. DIE CSR muss die folgenden Anforderungen erfüllen:
  • Schlüsselgröße: 2048 Bit (Minimum) bis 16384 Bit (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
  • Die Zertifizierungsstellenerweiterung muss für Stammzertifikate auf „true“ festgelegt werden und „cert sign“ muss in der Liste der Anforderungen vorhanden sein. Beispiel:
    basicConstraints        = critical,CA:true
    keyUsage                = critical,digitalSignature,keyCertSign
  • CRL-Signatur muss aktiviert sein.
  • Erweiterte Schlüsselverwendung kann entweder leer sein oder Serverauthentifizierung enthalten.
  • Keine explizite Beschränkung der Zertifikatskettenlänge. VMCA verwendet den OpenSSL-Standardwert von 10 Zertifikaten.
  • Zertifikate mit Platzhalterzeichen oder mehr als einem DNS-Namen werden nicht unterstützt.
  • Untergeordnete Zertifizierungsstellen von VMCA können nicht erstellt werden.

    Im VMware-Knowledgebase-Artikel „Creating a Microsoft Certificate Authority Template for SSL certificate creation in vSphere 6.x“ unter http://kb.vmware.com/kb/2112009 finden Sie ein Beispiel für die Verwendung der Microsoft-Zertifizierungsstelle.

VMCA überprüft beim Ersetzen des Root-Zertifikats die folgenden Zertifikatattribute:
  • Schlüsselgröße: 2048 Bit (Minimum) bis 16384 Bit (Maximum)
  • Schlüsselverwendung: Cert Sign
  • Basiseinschränkung: Betrefftyp Zertifizierungsstelle

Prozedur

  1. Generieren Sie eine Zertifikatsignieranforderung und senden Sie sie an Ihre Zertifizierungsstelle.
    Befolgen Sie die Anweisungen Ihrer Zertifizierungsstelle.
  2. Bereiten Sie eine Zertifikatdatei vor, die das signierte VMCA-Zertifikat sowie die vollständige Zertifikatkette Ihrer Drittanbieter- oder Unternehmenszertifizierungsstelle enthält. Speichern Sie die Datei beispielsweise unter dem Namen rootca1.crt.
    Zu diesem Zweck können Sie alle Zertifizierungsstellenzertifikate im PEM-Format in eine einzige Datei kopieren. Sie beginnen mit dem VMCA-Root-Zertifikat und am Ende haben Sie das PEM-Zertifikat der Root-Zertifizierungsstelle. Beispiel:
    -----BEGIN CERTIFICATE-----
    <Certificate of VMCA>
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    <Certificate of intermediary CA>
    -----END CERTIFICATE-----
    -----BEGIN CERTIFICATE-----
    <Certificate of Root CA>
    -----END CERTIFICATE-----
  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. Ersetzen Sie die vorhandene VMCA-Root-Zertifizierungsstelle.
    certool --rootca --cert=rootca1.crt --privkey=root1.key
    Bei der Ausführung dieses Befehls passiert Folgendes:
    • Das neue benutzerdefinierte Root-Zertifikat wird dem Zertifikatspeicherort im Dateisystem hinzufügt.
    • Das benutzerdefinierte Root-Zertifikat wird an den TRUSTED_ROOTS-Speicher in VECS angehängt (nach einer Verzögerung).
    • Das benutzerdefinierte Root-Zertifikat wird zu vmdir hinzugefügt (nach einer Verzögerung).
  5. (Optional) Zur Weitergabe der Änderung an alle Instanzen von vmdir (VMware Directory Service) veröffentlichen Sie das neue Root-Zertifikat in vmdir und geben Sie dabei für jede Datei den vollständigen Dateipfad an.
    Beispiel: Wenn das Zertifikat nur über ein Zertifikat in der Kette verfügt:
    dir-cli trustedcert publish --cert rootca1.crt
    Wenn das Zertifikat über mehrere Zertifikate in der Kette verfügt:
    dir-cli trustedcert publish --cert rootcal.crt --chain
    Die Replizierung zwischen vmdir-Knoten erfolgt alle 30 Sekunden. Sie müssen das Root-Zertifikat nicht explizit zu VECS hinzufügen, da vmdir von VECS alle fünf Minuten auf neue Root-Zertifikatsdateien überprüft wird.
  6. (Optional) Bei Bedarf können Sie die Aktualisierung von VECS erzwingen.
    vecs-cli force-refresh
  7. Starten Sie alle Dienste neu.
    service-control --start --all
    

Beispiel: Ersetzen des Root-Zertifikats

Ersetzen Sie das VMCA-Root-Zertifikat durch das benutzerdefinierte Root-Zertifikat der Zertifizierungsstelle, indem Sie den Befehl certool mit der Option --rootca verwenden.

/usr/lib/vmware-vmca/bin/certool --rootca --cert=<path>/root.pem -–privkey=<path>/root.key
Bei der Ausführung dieses Befehls passiert Folgendes:
  • Das neue benutzerdefinierte Root-Zertifikat wird dem Zertifikatspeicherort im Dateisystem hinzufügt.
  • Das benutzerdefinierte Root-Zertifikat wird an den TRUSTED_ROOTS-Speicher in VECS angehängt.
  • Das benutzerdefinierte Root-Zertifikat wird zu vmdir hinzugefügt.

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-Signaturzertifikat ersetzen. Weitere Informationen hierzu finden Sie unter Ersetzen eines vCenter Server-STS-Zertifikats über die Befehlszeile.