Después de recibir el certificado firmado de la CA y convertirlo en el certificado raíz de VMCA, puede reemplazar todos los certificados SSL de máquina.

Estos pasos son prácticamente los mismos que los pasos para reemplazar un certificado por otro que utilice VMCA como entidad de certificación. Sin embargo, en este caso, VMCA firma todos los certificados con la cadena completa.

Cada máquina debe tener un certificado SSL de máquina para establecer una comunicación segura con otros servicios. En una implementación de varios nodos, debe ejecutar los comandos de generación de certificados SSL de máquina en cada nodo. Use el parámetro --server para apuntar a Platform Services Controller desde vCenter Server con Platform Services Controller externo.

Requisitos previos

Para el certificado SSL de máquina, el SubjectAltName debe contener DNS Name=<Machine FQDN>.

Procedimiento

  1. Haga una copia de certool.cfg para cada máquina que necesite un certificado nuevo.
    Puede encontrar certool.cfg en las siguientes ubicaciones:
    Windows
    C:\Archivos de programa\VMware\vCenter Server\vmcad
    Linux
    /usr/lib/vmware-vmca/share/config/
  2. Edite el archivo de configuración personalizado de cada máquina a fin de incluir el FQDN de la máquina.
    Ejecute NSLookup sobre la dirección IP de la máquina a fin de ver el listado de DNS del nombre y usar ese nombre en el campo Nombre de host del archivo.
  3. Genere un par de archivos de clave pública/privada y un certificado para cada máquina pasando el archivo de configuración que acaba de personalizar.
    Por ejemplo:
    certool --genkey --privkey=machine1.priv --pubkey=machine1.pub
    certool --gencert --privkey=machine1.priv --cert machine42.crt --Name=Machine42_Cert --config machine1.cfg
  4. Detenga todos los servicios e inicie los servicios que se ocupan de la creación, de la propagación y del almacenamiento de certificados.
    Los nombres de servicios en Windows no son los mismos que en vCenter Server Appliance.
    Nota: Si el entorno utiliza una instancia externa de Platform Services Controller, no es necesario detener e iniciar VMware Directory Service (vmdird) ni VMware Certificate Authority (vmcad) en el nodo de vCenter Server. Estos servicios se ejecutan en Platform Services Controller.
    Windows
    service-control --stop --all
    service-control --start VMWareAfdService
    service-control --start VMWareDirectoryService
    service-control --start VMWareCertificateService
    
    vCenter Server Appliance
    service-control --stop --all
    service-control --start vmafdd
    service-control --start vmdird
    service-control --start vmcad
    
  5. Agregue el certificado nuevo a VECS.
    Todas las máquinas necesitan el certificado nuevo en el almacén de certificados local para comunicarse mediante SSL. Primero debe eliminar la entrada existente y, a continuación, agregar la nueva.
    vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT  
    vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert machine1.cert
    --key machine1.priv
  6. Reinicie todos los servicios.
    service-control --start --all
    

Ejemplo: Reemplazo de certificados SSL de máquina (VMCA es la CA intermedia)

  1. Cree un archivo de configuración para el certificado SSL y guárdelo como ssl-config.cfg en el directorio actual.
    Country = US
    Name = vmca-<PSC-FQDN-example>
    Organization = VMware
    OrgUnit = VMware Engineering
    State = California 
    Locality = Palo Alto
    Hostname = <FQDN>
  2. Genere un par de claves para el certificado SSL de máquina. Ejecute este comando en cada nodo de administración y en el nodo de Platform Services Controller. No se requiere la opción --server.
    C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --genkey --privkey=ssl-key.priv --pubkey=ssl-key.pub
    

    Los archivos ssl-key.priv y ssl-key.pub se crean en el directorio actual.

  3. Genere el nuevo certificado SSL de máquina. Este certificado está firmado por VMCA. Si reemplazó el certificado raíz de VMCA por un certificado personalizado, VMCA firma todos los certificados con la cadena completa.
    • En una instalación integrada o un nodo de Platform Services Controller:
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg
    • En vCenter Server (instalación externa):
      C:\>"C:\Program Files\VMware\vCenter Server\vmcad\"certool --gencert --cert=new-vmca-ssl.crt --privkey=ssl-key.priv --config=ssl-config.cfg --server=<psc-ip-or-fqdn>

    El archivo new-vmca-ssl.crt se crea en el directorio actual.

  4. (Opcional) Enumere el contenido de VECS.
    "C:\Program Files\VMware\vCenter Server\vmafdd\" vecs-cli store list
    • Ejemplo de salida en Platform Services Controller:
      MACHINE_SSL_CERT
      TRUSTED_ROOTS
      TRUSTED_ROOT_CRLS
      machine
    • Ejemplo de salida en vCenter Server:
      output (on vCenter):
      MACHINE_SSL_CERT
      TRUSTED_ROOTS
      TRUSTED_ROOT_CRLS
      machine
      vpxd
      vpxd-extension
      vsphere-webclient
      sms
  5. Reemplace el certificado SSL de máquina en VECS por el nuevo certificado SSL de máquina. Los valores --store y --alias tienen que coincidir exactamente con los nombres predeterminados.
    • En Platform Services Controller, ejecute el siguiente comando para actualizar el certificado SSL de máquina en el almacén MACHINE_SSL_CERT.
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert new-vmca-ssl.crt --key ssl-key.priv
      
    • En cada nodo de administración o en la implementación integrada, ejecute el siguiente comando para actualizar el certificado SSL de máquina en el almacén MACHINE_SSL_CERT. Debe actualizar el certificado para cada máquina por separado, ya que cada una de ellas tiene un FQDN diferente.
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
      C:\>"C:\Program Files\VMware\vCenter Server\vmafdd\"vecs-cli entry create --store MACHINE_SSL_CERT --alias __MACHINE_CERT --cert new-vmca-ssl.crt --key ssl-key.priv