Hola! La idea de este post es aprender a cambiar los certificados en las celdas de vCloud Director.
Nota:
Cada vez que veas $PASSWORD
significa que es una password a reemplazar
Pre-Requisitos
- Acceso root a las celdas de vCloud
- Nuevos certificados en formato .PEM
- Snapshot de la/s celdas de vCloud
Pasos a Seguir
- Iniciar sesión con el usuario root a la celda de vCloud en la que vamos a trabajar.
- Cambiar al directorio de binarios de vCloud Director
cd /opt/vmware/vcloud-director/bin/
- Obtener el estado de la celda
./cell-management-tool -u administrator -p $PASSWORD cell –status
- Detener el servicio VCD
service vmware-vcd stop
- Copiar via Winscp los nuevos certificados a la carpeta
/tmp/certs
- Cambiar el directorio a
/tmp/certs
cd /tmp/certs
- Unificar los dos certificados en el archivo “wildcard.pem”
cat mycert.crt mycert.key > wildcard.pem
Nota: vCloud director es un producto basado en Linux, por lo que es case sensitive, respetar las mayúsculas y minusulas - Con la herramienta openssl exportar los certificados del archivo .pem a archivos .p12 y definir la función de cada certificado (“http” o “consoleproxy”)
openssl pkcs12 -export -in wildcard.pem -out wildcard-http.p12 -name http
openssl pkcs12 -export -in wildcard.pem -out wildcard-console.p12 -name consoleproxy
- Realizar un backup de los certificados originales
cp /opt/vmware/vcloud-director/jre/bin/wildcard-console.p12 wildcard-console.p12-backup
cp /opt/vmware/vcloud-director/jre/bin/wildcard-http.p12 wildcard-http.p12-backup
- Borrar los certificados originales
rm /opt/vmware/vcloud-director/jre/bin/wildcard-http.p12
rm /opt/vmware/vcloud-director/jre/bin/wildcard-console.p12
Cambiar los certificados
- Copiar todos los archivos con formato “.p12” a la carpeta con los certificados
cp *.p12 /opt/vmware/vcloud-director/jre/bin/
- Dirigirse a la carpeta con los certificados
cd /opt/vmware/vcloud-director/jre/bin
- Importar los certificados y listarlos (la fecha de modificación debe ser la fecha de actualización de certificados)
./keytool -importkeystore -deststorepass $PASSWORD -destkeypass $PASSWORD -destkeystore certificates.ks -srcstoretype PKCS12 -srckeystore wildcard-http.p12 -srcstorepass $PASSWORD -alias http
./keytool -importkeystore -deststorepass $PASSWORD -destkeypass $PASSWORD -destkeystore certificates.ks -srcstoretype PKCS12 -srckeystore wildcard-console.p12 -srcstorepass $PASSWORD -alias consoleproxy
./keytool -keystore certificates.ks -storepass $PASSWORD -storetype JCEKS -list
- Copiar el archivo certificates.ks a la keystore
cp /opt/vmware/vcloud-director/jre/bin/certificates.ks /opt/keystore
- Configurar la keystore
/opt/vmware/vcloud-director/bin/configure
- Aparecerá el siguiente mensaje. Introducir la siguiente información:
Please enter the path to the Java keystore containing your SSL certificates and private Keys:
/opt/keystore
Please enter the password for the keystore: $PASSWORD
Please enter the private password for the 'http' SSL certificate: $PASSWORD
Please enter the private password for the 'consoleproxy' SSL certificate: $PASSWORD
Reinicio del servicio
- Iniciar el servicio de vCloud Director y verificar el estado de la celda:
cd vcloud-director/bin/
./cell-management-tool --status
service vmware-vcd-start
./cell-management-tool -u administrator -p $PASSWORD
./cell-management-tool --statusservice vmware-vcd status