Zertifikat auf Unifi Controller installieren

unifi

Wie folgt habe ich auf einem Ubiquiti Unifi Cloud Key Controller ein vorhandenes Zertifikat installiert.

Lade dein Zertifikat, den privaten Schlüssen und das CA-Bundle bei deinem Anbieter herunter.

Stelle eine Verbindung mittels SCP zu deinem CloudKey her. (https://winscp.net/eng/download.php)
Kopiere das Zertifikat, Keyfile und das CABundle in den /root/ Ordner deines Unifi Cloud Key

Stelle eine Verbindung mit dem SSH Client deiner Wahl (z.B. Putty) zu deinem Cloud Key her.
unifi-ssh-login
Führe folgende Befehle aus:

Um mit root Rechten arbeiten zu können

sudo su –

In das root Verzeichnis wechseln

cd /root/

Als aller erstes sollte für alle Fälle der Keystore gesichert werden. Somit kann bei einem Fehler das alte Zertifikat wieder verwendet werden.

Aktueller Keystore in den /root/ Ordner kopieren

cp /usr/lib/unifi/data/keystore /root/

Dein vorhandenes Zertifikat muss in das für den Controller passende pkcs12 Format umgewandelt werden. (Roter Text muss angepasst werden)

openssl pkcs12 -export -in example.com.crt -inkey example.com.key -out unifi.p12 -name unifi -CAfile Intermediate_CA_Bundle.crt -caname root

openssl-password

Passwort: aircontrolenterprise

Nach der Umwandlung gibt es eine zusätzliche Zertifikats-Datei namens unifi.p12.
Diese muss mit folgendem Befehl installiert werden.

keytool -importkeystore -deststorepass aircontrolenterprise -destkeypass aircontrolenterprise -destkeystore /usr/lib/unifi/data/keystore -srckeystore unifi.p12 -srcstoretype PKCS12 -srcstorepass aircontrolenterprise -alias unifi

Nach der Installation muss der UniFi Dienst neu gestartet werden.

service unifi restart

Beim nächsten Aufruf des Unifi Controller mittels HTTPS sollte das neue Zertifikat verwendet werden. Die Adressleiste des Browsers sollte die Verbindung als Sicher (grün) anzeigen.

unifi-safe-url.

Das ganze kann auch mit einem Let’s encrypt Zertifikat verwendet werden.
Hier habe ich einen Beitrag dazu geschrieben wie man ein Let’s encrypt Zertifikat auf einer Azure WebApp installiert.