vCloud Director étant développé en Java, il utilise assez logiquement les conteneurs « jks » pour stocker et exploiter ses certificats SSL et clefs privées associées. Malheureusement, l’outil de base fourni dans le framework JRE, Keytool, n’est pas le plus souple en matière d’importation/exportation.

Pour autant, on ne va pas se laisser faire. Voici donc une procédure relativement simple pour pouvoir importer des certificats et clefs privées au format standardisé « .PEM » issu, par exemple d’une PKI gérée via OpenSSL.

Le pré-requis est de disposer des deux certificats (fournis par votre PKI) et clefs privées nécessaire à VCD, à savoir celui du service http et celui du console-proxy, le tout au format PEM. Première opération, exporter tout cela en format PKCS12 (lisible par keytool) :
openssl pkcs12 -export -inkey http.key -in http.crt -out http.pkcs12
openssl pkcs12 -export -inkey consoleproxy.key -in consoleproxy.crt -out consoleproxy.pkcs12

A chaque fois, openssl va vous demander un mot de passe de sécurisation des fichiers PKCS12. Je le note <password_pkcs12> dans les commandes suivantes. Ensuite, on importe ces deux fichiers PKCS12 dans un nouveau conteneur JKS. De la même façon, le password de sécurisation du conteneur JKS s’appelle <password_conteneur>. Première commande, on crée en même temps le nouveau keystore en ajoutant le premier certificat (http ici) :
/opt/vmware/vcloud-director/jre/bin/keytool -importkeystore -deststorepass <password_conteneur> -destkeystore vcloud.ks -srckeystore http.pkcs12 -srcstoretype PKCS12 -srcstorepass <password_pkcs12>
Vous devez obtenir une output de ce type :

Par défaut, le premier certificat est enregistré sous l’alias « 1 », on va le renommer en http pour que vcloud retrouve ses petits ensuite :
/opt/vmware/vcloud-director/jre/bin/keytool -changealias -keystore vcloud.ks -srcalias 1 -destalias http

Le mot de passe du conteneur vous est demandé (évidemment). Enfin, on refait quasiment la même manipulation pour le second certificat « console proxy » :
/opt/vmware/vcloud-director/jre/bin/keytool -importkeystore -deststorepass <password_conteneur> -destkeystore vcloud.ks -srckeystore consoleproxy.pkcs12 -srcstoretype PKCS12 -srcstorepass <password_pkcs12>
puis
/opt/vmware/vcloud-director/jre/bin/keytool -changealias -keystore vcloud.ks -srcalias 1 -destalias consoleproxy

Enfin, pour controler que notre conteneur est parfait, une petite interrogation :
/opt/vmware/vcloud-director/jre/bin/keytool -list -keystore vcloud.ks
… doit donner un résultat de ce type :

Enfin, pour reconfigurer votre noeud pour prendre en compte ce nouveau keystore (en cas de changement de mots de passe par exemple), lancez la commande /opt/vmware/vcloud-director/bin/configure et répondez aux quelques questions posées :

Avec ces commandes, vous êtes paré pour importer sans souci des certificats SSL standards dans votre VCD 😉

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *