SSL-Zertifikat von Effekta RCCMD austauschen

Ausgangslage ist die VMWare vSphere Management Assistant. Dort wurde die Software RCCMD von Effekta installiert, um von der USV z.B. bei niedriger Akkustand die angeschlossenen ESXi-Server und dessen virtuellen Server (VMs) sauber herunterfahren zu können. Ruft man die Weboberfläche von RCCMD auf, so erscheint ein Zertifikatsfehler wie man es gewohnt ist.
effekta-rccmd-gui-ssl-error

Um dieses Self-Signed durch ein CA-Sigend Zertifikat zu ersetzen ist ein bisschen Linuxwissen notwendig. Vorraussetzung ist, dass das neue SSL-Zertifikat im PKCS12 (.pfx) samt Kennwort vorliegt. Des Weiteren ein gutes Passwort überlegen bzw. generieren lassen. Dieses dient später dazu, den neuen Java Keystore abzusichern.

1) Mit Hilfe von z.B. WinSCP eine Verbindung zu der vMA herstellen
2) Die .pfx-Datei vom lokalen Rechner auf die entferne VM in das Verzeichnis /tmp ablegen
3) Vorhandenen Keystore und Konfiguration des Webservers Jetty sichern

sudo mv /usr/rccmd/webconfig/resources/.keystore /usr/rccmd/webconfig/resources/.keystore-orginal
sudo cp /usr/rccmd/webconfig/resources/rccmdConfig_vma.properties /usr/rccmd/webconfig/resources/rccmdConfig_vma.properties-orginal

4) Alias in der .pfx-Datei auslesen

keytool -list -keystore "/tmp/dateiname.pfx" -storetype pkcs12 -v | grep "Alias"

Falls die Datei ebenfalls mit einem Passwort geschützt würde, ist dieses nun einzugeben. Den Alias am Besten in eine Textdatei notieren.
5) Neuen Keystore mit Hilfe der .pfx-Datei erstellen.

sudo keytool -v -importkeystore -srckeystore "/tmp/dateiname.pfx" -srcstoretype pkcs12 -srcstorepass PasswortDerPfxDatei -srcalias "<notierteralias " -destkeystore "/usr/rccmd/webconfig/resources/.keystore" -deststoretype JKS -deststorepass <VorüberlegtesPasswort> -destkeypass <vor überlegtesPasswort> -destalias "rccmd"</vor></notierteralias>

6) Nun wird das KeyStorePasswort miz Hilfe einer Java-Klasse verschlüsselt. Die Zeichenfolge hinter OBF in das Notepad kopieren.

sudo java -cp /usr/rccmd/webconfig/jetty/jetty-util-9.0.6.v20130930.jar org.eclipse.jetty.util.security.Password <Überlegtes Passwort>

7) Verschlüsseltes Passwort in die Jetty-Webserverkonfiguration hinterlegen.

sudo sed -i 's/1w1m1pcq1l4z1apm1wmn1wnj1apw1l8b1pb81w1w/NeuerOBFHash/g' /usr/rccmd/webconfig/resources/rccmdConfig_vma.properties

8) Zum Schluss die vMA neustarten

sudo reboot