Una compañera me ha pasado una advertencia, que le ha saltado en un vcenter. Prace ser que en el data-encipherment store va a caducar el certificado. Es un problema reconocido que paso en una actualización de versión 6.5 Update 2, pero aún me he encontrado algunos que hay que renovar los certificados. De hecho, esta versión es un vcenter 6.7
Os voy a explicar el proceso que he hecho para descubrir que certificado nos va a caducar y como volverá generarlo.
Si revisamos por vcenter, no vemos a que certificado se refiere en la advertencia de caducidad.
Para ello nos vamos a conectar por ssh al vcenter y vamos a lanzar este comando:
for i in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list); do echo STORE $i; /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $i --text | egrep "Alias|Not After"; done
Esto nos listara todos nuestros VECS (VMware Endpoint Certificate Store)
root@vcsa [ ~ ]# for store in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list | grep -v TRUSTED_ROOT_CRLS); do echo «[*] Store :» $store; /usr/lib/vmware-vmafd/bin/vecs-cli entry list –store $store –text | grep -ie «Alias» -ie «Not After»;done;
[*] Store : MACHINE_SSL_CERT
Alias : __MACHINE_CERT
Not After : Dec 23 09:45:10 2025 GMT
[*] Store : TRUSTED_ROOTS
Alias : 739c2878950da6531f9251f23e64bb5896e37d57
Not After : Dec 23 09:45:10 2025 GMT
Alias : 650b2bb369693ba797f10025f68629d8eef22249
Not After : Dec 23 09:45:10 2025 GMT
[*] Store : machine
Alias : machine
Not After : Dec 23 09:45:10 2025 GMT
[*] Store : vsphere-webclient
Alias : vsphere-webclient
Not After : Dec 23 09:45:10 2025 GMT
[*] Store : vpxd
Alias : vpxd
Not After : Dec 23 09:45:10 2025 GMT
[*] Store : vpxd-extension
Alias : vpxd-extension
Not After : Dec 23 09:45:10 2025 GMT
[*] Store : SMS
Alias : sms_self_signed
Not After : Dec 29 09:50:06 2025 GMT
[*] Store : STS_INTERNAL_SSL_CERT
Alias : __MACHINE_CERT
Not After : Dec 23 09:45:10 2025 GMT
[*] Store : APPLMGMT_PASSWORD
Alias : location_password_default
[*] Store : data-encipherment
Alias : data-encipherment
Not After : Jan 22 11:28:58 2023 GMT
Lo primero que vamos a realizar es una copia de seguridad del certificado antiguo y la clave privada:
/usr/lib/vmware-vmafd/bin/vecs-cli entry getcert --store data-encipherment --alias data-encipherment --output /tmp/old-data-encipherment.crt
/usr/lib/vmware-vmafd/bin/vecs-cli entry getkey --store data-encipherment --alias data-encipherment --output /tmp/old-data-encipherment.key
He dejado en backup en/tmp
Ahora vamos a eliminamos el certificado existente del VECS
/usr/lib/vmware-vmafd/bin/vecs-cli entry delete -y --store data-encipherment --alias data-encipherment
Confirmamos que lo ha borrado
/usr/lib/vmware-vmafd/bin/vecs-cli entry list --store data-encipherment
Y ahora, generamos un nuevo certificado usando la clave privada existente (key) y lo añadimos al VECS
Esta opción –genCIScert en certool agregará automáticamente el nuevo certificado al almacén de certificados
/usr/lib/vmware-vmca/bin/certool --server=vcsa.lab.local--genCIScert --dataencipherment --privkey=/tmp/old-data-encipherment.key --cert=/tmp/tmp-data-encipherment.crt --Name=data-encipherment --FQDN=vcsa.lab.local
Cambiamos por el nombre de nuestro vcenter
Comprobamos si esta nuestro o nuevo certificado generado
/usr/lib/vmware-vmafd/bin/vecs-cli entry list --store data-encipherment
Reiniciamos el servicio vpxd
service-control --stop vpxd service-control --start vpxd
Y vamos a comprobar cuando caducaría nuestro nuevo certificado:
for i in $(/usr/lib/vmware-vmafd/bin/vecs-cli store list); do echo STORE $i; /usr/lib/vmware-vmafd/bin/vecs-cli entry list --store $i --text | egrep "Alias|Not After"; done
Espero que os sirva
Un apunte, si el certificado no se muestra en el VECS el vces-store
/usr/lib/vmware-vmafd/bin/vecs-cli entry create --store data-encipherment --alias data-encipherment --server localhost --upn administrator@lab.local --cert /etc/vmware-vpx/ssl/data-encipherment.crt --key /etc/vmware-vpx/ssl/data-encipherment.key