UniFi Video NVR mit eigenem SSL Zertifikat

Dem UniFi Video NVR ein eigenes SSL Zertifikat unterzujubeln ist nicht gerade einfach.
Hier ist meine Anleitung wie ich es mit Unifi Video NVR 3.9.0 unter Debian 9 Stretch hinbekommen habe. (Vielen Dank für die gute Vorlage.)

Für meine interne Zertifikatsverwaltung nehme ich XCA. Das Zertifikat ist erstellt und muss zuerst aus XCA exportiert werden.

  • das Zertifikat als DER (binäre DER formatierte Datei) → nvr.bachmann.lan_cert.der
  • den privaten Schlüssel als PEM privat (der unverschlüsselte private Schlüssel in einer PEM Textdatei) → nvr.bachmann.lan_priv.key

Auf dem dem NVR erstellen wir ein neues Verzeichnis für die Zertifikate und kopieren unsere beiden Dateien dort hinein.

$ mkdir /usr/lib/unifi-video/data/certificates

Der private Schlüssel muss in das DER Format konvertiert werden damit er von Unifi Video akzeptiert wird!

$ openssl pkcs8 -topk8 -inform PEM -outform DER -nocrypt -in nvr.bachmann.lan_priv.key -out nvr.bachmann.lan_key.der

Die beiden Dateien müssen jetzt umbenannt werden. (ufv-server.cert.der = signed certificate / ufv-server.key.der = private key file)

$ mv nvr.bachmann.lan_cert.der ufv-server.cert.der
$ mv nvr.bachmann.lan_key.der ufv-server.key.der

Für das Verzeichnis mit Inhalt müssen die Berechtigungen für den unifi-video user angepasst werden.

$ chown -R unifi-video:unifi-video /usr/lib/unifi-video/data/certificates

Den unifi-video service stoppen.

$ systemctl stop unifi-video

In der Datei /usr/lib/unifi-video/data/system.properties aktivieren wir jetzt die Unterstützung eigener Zertifikate. (einfach am Ende einfügen)

ufv.custom.certs.enable=true

Jetzt löschen wir den bestehenden ufv-truststore.

$ rm /usr/lib/unifi-video/data/ufv-truststore

Starten den unifi-video service wieder.

$ systemctl start unifi-video

Wenn alles funktioniert verschwinden die beiden Dateien aus dem certificates Verzeichnis und es wird ein neuer ufv-truststore mit unseren Schlüsseln erstellt.

Ist der private Schlüssel in einem falschen Format, oder bei sonstigen Problemen, lohnt sich ein Blick ins /usr/lib/unifi-video/logs/error.log.

1516530742.383 2018-01-21 11:32:22.383/MEZ: ERROR  Failed to import private key! {} in main

Schreibe einen Kommentar