Cambiar los certificados en vCloud Director – Tutorial

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

  1. Iniciar sesión con el usuario root a la celda de vCloud en la que vamos a trabajar.
  2. Cambiar al directorio de binarios de vCloud Director
    cd /opt/vmware/vcloud-director/bin/
  3. Obtener el estado de la celda
    ./cell-management-tool -u administrator -p $PASSWORD cell –status
  4. Detener el servicio VCD
    service vmware-vcd stop
  5. Copiar via Winscp los nuevos certificados a la carpeta /tmp/certs
  6. Cambiar el directorio a /tmp/certs
    cd /tmp/certs
  7. 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
  8. 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
  9. 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
  10. 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

  1. Copiar todos los archivos con formato “.p12” a la carpeta con los certificados
    cp *.p12 /opt/vmware/vcloud-director/jre/bin/
  2. Dirigirse a la carpeta con los certificados
    cd /opt/vmware/vcloud-director/jre/bin
  3. 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
  4. Copiar el archivo certificates.ks a la keystore
    cp /opt/vmware/vcloud-director/jre/bin/certificates.ks /opt/keystore
  5. Configurar la keystore
    /opt/vmware/vcloud-director/bin/configure
  6. 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

  1. 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 --status

    service vmware-vcd status