Si la directiva de la empresa lo requiere, puede usar la CLI para reemplazar todos o algunos de los certificados utilizados en vSphere por certificados firmados por una CA de la empresa o externa. Si lo hace, VMCA no estará en la cadena de certificados. Es su responsabilidad almacenar todos los certificados de vCenter en VECS.

Puede reemplazar todos los certificados o utilizar una solución híbrida. Por ejemplo, considere reemplazar todos los certificados que se utilizan para el tráfico de red y dejar los certificados de usuarios de solución firmados por VMCA. Los certificados de usuarios de solución se utilizan solo para efectuar la autenticación en vCenter Single Sign-On. vCenter Server utiliza certificados de usuarios de solución solo para la comunicación interna. Los certificados de usuarios de solución no se utilizan para la comunicación externa.
Nota: Si no desea utilizar VMCA, es su responsabilidad reemplazar todos los certificados, aprovisionar componentes nuevos con certificados y hacer un seguimiento de la caducidad de los certificados.

Incluso si decide utilizar certificados personalizados, puede continuar usando la utilidad de VMware Certificate Manager para reemplazar los certificados. Consulte Reemplazar todos los certificados por certificados personalizados con el Certificate Manager.

Si tiene problemas con vSphere Auto Deploy después de reemplazar los certificados, consulte el artículo de la base de conocimientos de VMware en https://kb.vmware.com/s/article/2000988.

Solicitar certificados e importar un certificado raíz personalizado mediante la CLI

Puede utilizar certificados personalizados de una CA de la empresa o externa. El primer paso es solicitar los certificados a la entidad de certificación y luego usar la CLI para importar los certificados raíz en VMware Endpoint Certificate Store (VECS).

Requisitos previos

El certificado debe cumplir con los siguientes requisitos:

  • Tamaño de clave: de 2048 bits (mínimo) a 8192 bits (máximo) (formato codificado PEM)
  • Formato PEM. VMware admite PKCS8 y PKCS1 (claves RSA). Cuando se agregan claves a VECS, se convierten en PKCS8.
  • x509 versión 3
  • Para los certificados raíz, la extensión CA se debe establecer en true y el signo cert debe estar en la lista de requisitos.
  • SubjectAltName debe contener DNS Name=<machine_FQDN>.
  • Formato CRT
  • Contiene los siguientes usos de claves: firma digital, cifrado de clave
  • Hora de inicio de un día anterior a la hora actual.
  • CN (y SubjectAltName) establecidos con el nombre de host (o dirección IP) que el host ESXi tiene en el inventario de vCenter Server.
Nota: El certificado FIPS de vSphere solo valida los tamaños de clave RSA de 2048 y 3072 bits.

Procedimiento

  1. Envíe las solicitudes de firma de certificados (Certificate Signing Requests, CSR) para los siguientes certificados al proveedor de certificados de la empresa o externo.
    • Un certificado SSL de máquina para cada máquina. Para el certificado SSL de máquina, el campo SubjectAltName debe contener el nombre de dominio completo (DNS NAME=FQDN_de_máquina).
    • Opcionalmente, cinco certificados de usuario de solución para cada nodo. Los certificados de usuario de solución no necesitan incluir la dirección IP, el nombre del host ni la dirección de correo electrónico. Cada certificado debe tener un asunto de certificado diferente.

    Generalmente, el resultado es un archivo PEM para la cadena de confianza, junto con los certificados SSL firmados para cada nodo de vCenter Server.

  2. Enumere los almacenes TRUSTED_ROOTS y SSL de máquina.
    vecs-cli store list 
    
    1. Asegúrese de que el certificado raíz actual y todos los certificados SSL de máquina estén firmados por VMCA.
    2. Anote el contenido de los campos Número de serie, Emisor y Nombre común de asunto.
    3. (opcional) Con un explorador web, abra una conexión HTTPS al nodo en el que se reubicará el certificado, mire la información del certificado y asegúrese de que esta coincida con la del certificado SSL de máquina.
  3. Detenga todos los servicios e inicie los servicios que se ocupan de la creación, de la propagación y del almacenamiento de certificados.
    service-control --stop --all
    service-control --start vmafdd
    service-control --start vmdird
    service-control --start vmcad
    
  4. Publique el certificado raíz personalizado.
    dir-cli trustedcert publish --cert <my_custom_root>
    Si no especifica un nombre de usuario y una contraseña en la línea de comandos, el sistema se lo solicitará.
  5. Reinicie todos los servicios.
    service-control --start --all

Qué hacer a continuación

Se puede eliminar el certificado raíz original de VMCA del almacén de certificados si así lo establece la directiva de la empresa. Si se hace eso, es necesario actualizar el certificado de vCenter Single Sign-On. Consulte Reemplazar un certificado vCenter Server STS mediante la línea de comandos.

Reemplazar certificados SSL de máquina por certificados personalizados mediante la CLI

Después de recibir los certificados personalizados, puede usar la CLI para reemplazar los certificados de cada máquina.

Para poder empezar a reemplazar los certificados, debe tener la siguiente información:
  • Contraseña de [email protected]
  • Un certificado SSL de máquina personalizado y válido (archivo .crt)
  • Una clave SSL de máquina personalizada y válida (archivo .key)
  • Un certificado personalizado válido para la raíz (archivo .crt)

Requisitos previos

Seguramente recibió un certificado para cada máquina de la CA de la empresa o externa.

  • Tamaño de clave: de 2048 bits (mínimo) a 8192 bits (máximo) (formato codificado PEM)
  • Formato CRT
  • x509 versión 3
  • SubjectAltName debe contener DNS Name=<machine_FQDN>.
  • Contiene los siguientes usos de claves: firma digital, cifrado de clave

Realice los pasos en cada host de vCenter Server.

Procedimiento

  1. Realice una copia de seguridad del certificado SSL de máquina actual.
    /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. Inicie sesión en cada host y agregue los nuevos certificados de máquina que reciba de la entidad de certificación a VECS.
    Todos los hosts necesitan el certificado nuevo en el almacén de certificados local para comunicarse mediante SSL.
    1. Elimine el certificado existente.
      /usr/lib/vmware-vmafd/bin/vecs-cli entry delete --store MACHINE_SSL_CERT --alias __MACHINE_CERT
    2. Agregue el nuevo certificado.
      /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. Extraiga el hash del certificado antiguo que se va a reemplazar.
    openssl x509 -in <path_to_old_machinessl_certificate> -noout -sha1 -fingerprint

    Aparece un resultado similar al siguiente:

    SHA1 Fingerprint=13:1E:60:93:E4:E6:59:31:55:EB:74:51:67:2A:99:F8:3F:04:83:88
  4. Actualice el endpoint de registro del servicio de búsqueda manualmente.
    /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>

    Si tiene problemas al ejecutar ls_update_certs.py, consulte el artículo de la base de conocimientos de VMware en https://kb.vmware.com/s/article/95982.

  5. Reinicie todos los servicios.
    service-control --stop --all && service-control --start --all