By default, the Auto Deploy server provisions each host with certificates that are signed by VMCA. You can set up the Auto Deploy server to provision all hosts with custom certificates that are not signed by VMCA. In that scenario, the Auto Deploy server becomes a subordinate certificate authority of your third-party CA.

Prerequisites

  • Request a certificate from your CA. The certificate must meet these requirements.
    • Key size: 2048 bits or more (PEM encoded)
    • PEM format. VMware supports PKCS8 and PKCS1 (RSA keys). When keys are added to VECS, they are converted to PKCS8
    • x509 version 3
    • For root certificates, the CA extension must be set to true, and the cert sign must be in the list of requirements.
    • SubjectAltName must contain DNS Name=<machine_FQDN>
    • CRT format
    • Contains the following Key Usages: Digital Signature, Non Repudiation, Key Encipherment
    • Start time of one day before the current time
    • CN (and SubjectAltName) set to the host name (or IP address) that the ESXi host has in the vCenter Server inventory.
  • Name the certificate and key files rbd-ca.crt and rbd-ca.key.

Procedure

  1. Back up the default ESXi certificates.
    The certificates are in the /etc/vmware-rbd/ssl/ directory.
  2. From the vSphere Web Client, stop the Auto Deploy service.
    1. Select Administration, and click System Configuration under Deployment.
    2. Click Services.
    3. Right-click the service you want to stop and select Stop.
  3. On the system where the Auto Deploy service runs, replace rbd-ca.crt and rbd-ca.key in /etc/vmware-rbd/ssl/ with your custom certificate and key files.
  4. On the system where the Auto Deploy service runs, run the following command to update the TRUSTED_ROOTS store inside of VECS to use your new certificates.
    Option Description
    Windows
    cd C:\Program Files\VMware\vCenter Server\vmafdd\vecs-cli.exe
    vecs-cli entry delete --store TRUSTED_ROOTS --alias rbd_cert  
    vecs-cli entry create --store TRUSTED_ROOTS --alias rbd_cert 
    --cert /etc/vmware-rbd/ssl/rbd-ca.crt
    Linux
    cd /usr/lib/vmware-vmafd/bin/vecs-cli
    vecs-cli entry delete --store TRUSTED_ROOTS --alias	rbd_cert  
    vecs-cli entry create --store TRUSTED_ROOTS --alias	rbd_cert 
    --cert /etc/vmware-rbd/ssl/rbd-ca.crt
  5. Create a castore.pem file that contains what is in the TRUSTED_ROOTS store and place the file in the /etc/vmware-rbd/ssl/ directory.
    In custom mode, you are responsible for maintaining this file.
  6. Change the ESXi certificate mode for the vCenter Server system to custom.
  7. Restart the vCenter Server service and start the Auto Deploy service.

Results

The next time you provision a host that is set up to use Auto Deploy, the Auto Deploy server generates a certificate. The Auto Deploy server uses the root certificate that you just added to the TRUSTED_ROOTS store.

Note: If you encounter problems with Auto Deploy after certificate replacement, see VMware Knowledgebase Article 2000988.