Selbstsigniertes SSL-Zertifikat für den INSTAR MQTT-Broker

Q: Wie kann ich ein benutzerdefiniertes SSL-Zertifikat für den INSTAR MQTT-Broker unter Windows 10 erstellen?

Mike Polinowski
INSTAR MQTT
Firmware Update
Full HD Serie
INSTAR Deutschland GmbH
INSTAR MQTT

Machen Sie Ihrer Kamera zum Herzstück Ihres Smarthomes

Mithilfe der MQTT Schnittstelle Ihrer INSTAR Full HD Kameras können Sie diese zu einem bestehenden Smarthome-System (Home Assistant, OpenHAB, Node-RED, Athom Homey, Homematic, ioBroker, Loxone, homee) hinzufügen kann. Oder auch zum Haupt-Broker für Ihre MQTT Sensoren machen. MQTT ermöglicht es Ihnen ALLE Funktionen Ihrer Kamera zu automatisieren und mit anderen Diensten in Ihrem Smarthome zu verknüpfen.

Mike Polinowski
IFTTT Applets
Firmware Update
Full HD Serie
INSTAR Cloud
INSTAR Deutschland GmbH
INSTAR IFTTT Applets

Kontrollieren Sie Ihre Kamera über den IFTTT Online Dienst

Auf der IFTTT-Plattform stellten wir einen Dienst namens INSTAR zur Verfügung. Die INSTAR Applets bieten Ihnen die Möglichkeit, einige Einstellungen Ihrer INSTAR Kamera oder INSTAR Cloud mit IFTTT zu steuern. Sie können INSTAR mit Auslösern für Ort (Geo Location) und Datum & Zeit verbinden, Benachrichtigungen versenden und vieles mehr. Zum Beispiel können Sie die INSTAR Applets mit dem IFTTT-Ortungsdienst verbinden und automatisch den Alarm deaktivieren lassen, wenn Sie zu Hause ankommen. Sie können die INSTAR-Applets auch verwenden, um Ihre eigene Automatisierung zu erstellen und sie mit anderen Applets von Drittanbietern zu verbinden.

A: Um ein selbstsigniertes Zertifikat unter Windows 10 zu erstellen, müssen Sie zunächst OpenSSL installieren.

OpenSSL

Sie können eine Win64-Distribution von OpenSSL hier herunterladen. Möglicherweise benötigen Sie auch C++-Dist, die Sie unter diesem Link erhalten können In den meisten Fällen sollte letzteres aber bereits vorhanden sein.

Öffnen Sie nun eine Eingabeaufforderung als ADMINISTRATOR:

Selbstsigniertes Windows-Zertifikat für INSTAR MQTT-Broker

Wechseln Sie in das OpenSSL-Verzeichnis \bin - z.B. cd \Programme\OpenSSL-Win64\bin für die 64bit-Version von OpenSSL. Hier können wir nun den OpenSSL-Befehl verwenden, um ein Zertifikat für unsere Kamera zu erstellen - Beachten Sie , dass Sie die IP-Adresse Ihrer Kamera (oder die Domäne - wenn Sie eine solche innerhalb Ihres lokalen Netzwerks zugewiesen haben) zu diesem Befehl hinzufügen müssen.

openssl req -x509 -nodes -subj "/CN=192.168.2.117" -newkey rsa:2048 -keyout private-key.pem -out cert.pem -days 365

Selbstsigniertes Windows-Zertifikat für INSTAR MQTT-Broker

Dieser Befehl erzeugt einen privaten und öffentlichen Key (Zertifikat) für die Kamera mit der IP-Adresse 192.168.2.117 - dies ist die IP-Adresse der Kamera, die ich als MQTT-Broker verwenden will. Bitte ändern Sie diese IP-Adresse in die IP-Adresse Ihrer eigenen Kamera. Sie finden danach die beiden Dateien im OpenSSL /bin-Verzeichnis - private-key.pem und cert.pem:

Selbstsigniertes Windows-Zertifikat für INSTAR MQTT-Broker

Broker Zertifikat und Client Public Key

broker.pem

Unsere Broker - in meinem Fall die 192.168.2.117 - benötigt beides - den privaten und den öffentlichen Schlüssel. Öffnen Sie beide Dateien und kopieren Sie den Inhalt von private-key.pem ans Ende von cert.pem. Speichern Sie diese neue Datei unter dem Namen broker.pem. Das Ergebnis wird ungefähr so aussehen:

-----BEGIN PRIVATE KEY-----
vhjk78696hkgkfkqhkiG9w0BAQEFAASCBKcwggSjAgEAAoIBAQDPkmJujI3pia4z
+FeARMlURp/7oLyXXeV/qxWvVTdCXCX0QSGKvv0fopoRkzAmL3LCVJVsyv+meuhZ
4xW/cbt62Qvp7zI2fvJedUP42VJNzjuRRxRURcoD6/vm5E9hgrjKhO2U1xhRLgPS
xUSW/0MvjIs3eDwYMa3vRBp4DfhNnbKF7lOiO+7vajEK3vt9yzeghLlnYpDj6vCZ
AxQuP7Bv7Dgdfgfdsrtyu568fghj8gyouiuluiygfEJzOecoyTkx+6Y6MJ+7rB1t
pRk/je7zfUmthZ/0MhuBo9S6wAPGFNbP+nXE8bxx//BAcfrV9lSDU1NkG4iCgRxD
PRlPOfi3AgMBAAECggEAe1eR0/0DStW8RTd5z0eQltqMsDo4Nn3eJLnl3dT2TCFz
kCuvocGRqd22TWE4CEjDmYQncolB1oxMSzVsM+GCNSKKOM0g+k7++HAYHuQMSx2U
OeSRyO3bd+8fNXlPTjMeWYEZqAsUcRC1xuXftxYhtzx9cU2p7/p9T6MZU2OBu6Q5
4WIlFnsGr3Y3YXHZHjzndXwf2JR8zL94H2QamoA7JsnUxtWp2FZot4hSdQuuE8Fw
5ahYC7pW9pjTg9i+STAxDUCpt9ggb23AZMufRPYNAGJ6ckGb4LMAr2bxofEFgNde
ZBhRVssjdtykjd68r6tjkfkyuir67i8tkgdjd6wV8QKBgQD2fACkAYU9VOsbjruw
k/Uv1row5AoqIgGroUL/F4cr6mq0L5EMKDB5uK+FglU5DiKKkp7ESYFDlkrV4Bxs
1bmVIcBn3453456dfh456fghgfjW8AIHiC98u5wtcya9BMiuU3UACRYv++lBqJ1S
p/2RTlVwaThhsxbOw7+xPlJuOQKBgQDXlc9uRJG3Lm6NVRu1ngjSJpn9pTerG/7d
abyqAW+p3CyAPOkmlOBHBfXZ6P52yAnMJ8y18x+nd2OT66RATHv3q+fD0Kz4N8pL
1k05Lsqxf4U7W1ySrs6756dgkyukirf657edcjudi0FB1xuMQVzKBnerUumST1U+
jtOhVR2ebwKBgGDhJmNQEa2klfAz7sOdtA5EiNQ0nWYoDZ4G+U1IUyHItn3yAEHV
/g+prpt8OcD+NEdhD7Q46+zDwtBDkQiaDKJ4LKbVff/FOdwxANRNHZs3KTSvSyzo
szmEiAM5Mm2y1qnmNaN47taXXfwnqQZW7wxQzLYtNTL5cCp+t/aTd1TJAoGAPrb1
DfXikfBu9qxwkCf2FvRlzbTXee59+Pk+ihI64qYLSA7wIGokyGSCfa7a/8D3oK1f
Tvr4FWaU0D43nQDisrtu678rfyukjgt678FJM9ON9ZOBXaZcYnUhJb3tOirB26/5
F/HNRN+7zyR9fhKxpI+3Fl7bVdXATZ+NDxzMrf8CgYEA4jJdX0qum/EI4UTxPXhs
e301ki4p2Xad4mFnQWl3hPQYROcgMJoOl1nGokLK1fqJZRJPysG0IrX91PgZsHas
oCMiAzwFp6yByCP2VtfM3bSmHx4QKHFvPkn7srVHKti5B8j2E7KnF1txEa0Fj5Mx
gDSkEBWSsrtyu5678stshyjtyjftykfuky678rluxdtas34568rykgfhjkkxfdxj
-----END PRIVATE KEY-----
-----BEGIN CERTIFICATE-----
dhxhxrth567edjytjdk6TZahDpmPZIwE9cq+C7C0unBj1AEwDQYJKoZIhvcNAQEL
BQAwGDEsr67y54e6dftyMTkyLjE2OC4yLjExNzAeFw0yMDAyMjgwOTIyNDRaFw0y
MTAyMjcwOsrhtdnt678r6ikjBgNVBAMMDTE5Mi4xNjguMi4xMTcwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPkmJujI3pia4z+FeARMlURp/7oLyXXeV/
qxWvVTdCXCX0QSGKvv0fopoRkzAmL3LCVJVsyv+meuhZ4xW/cbt62Qvp7zI2fvJe
dUP42VJNzjuaert5476sfhjdtyjdtyjKhO2U1xhRLgPSxUSW/0MvjIs3eDwYMa3v
RBp4DfhNnbKF7lOisrtu658ughjfvyukd5dxftjj6vCZAxQuP7Bv7Dg/WFrJHDK2
dkP06mImwCV415LZagM0cEJzOecoyTkx+6Y6MJ+7rB1tpRk/je7zfUmthZ/0MhuB
o9S6wAPGFNbP+nXE8bxx//BAcfrV9lSDU1NkG4iCgRxDPRlPOfi3AgMBAAGjUzBR
MB0GA1UdDgQW45srthyazregt45yfxghtyj6jdyWgTAfBgNVHSMEGDAWgBQKW176
GE+v0qlcImNqu0mGmdyWgTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUA
A4IBAQA8/wmb+Sxdry65uvhjkhvztz4ebthxhjjSIl1J27X8rOKRNofLX3BRtyX9
mHLXHyYhuqaCAwGDohGoSqIkWejL4g+qQXZifW5We/MTByoWtB7aqKt3Wz0z8+TI
x/AkEo9bssIiNkEvUUlxQyFd7K/klHHw/dh3un3mGu2XrlzmbTqUlastW6n3bO11
UUS8aYC3L37VbjZQxug1ru9/I1j8I+mU272CEoI/eAXHyBd+GoZzREnxMyPzct7i
FHw7UMn2V6dJBtfZjOfqqX+xNTtZ9kQDaWO5s/JpRYX8hlfCKGD871J5ba4VfK1+
/rHJkgQLZaLk9Ysdtyu5678rdftjgyu9i87lhiolt67d56cyti67vhky7
-----END CERTIFICATE-----

client.pem

Jeder Client, den Sie mit Ihrem Broker verbinden wollen - z.B. eine zweite Kamera - benötigt nur den öffentlichen Schlüssel von cert.pem. Öffnen Sie diese Datei und speichern Sie sie als client.pem:

-----BEGIN CERTIFICATE-----
dhxhxrth567edjytjdk6TZahDpmPZIwE9cq+C7C0unBj1AEwDQYJKoZIhvcNAQEL
BQAwGDEsr67y54e6dftyMTkyLjE2OC4yLjExNzAeFw0yMDAyMjgwOTIyNDRaFw0y
MTAyMjcwOsrhtdnt678r6ikjBgNVBAMMDTE5Mi4xNjguMi4xMTcwggEiMA0GCSqG
SIb3DQEBAQUAA4IBDwAwggEKAoIBAQDPkmJujI3pia4z+FeARMlURp/7oLyXXeV/
qxWvVTdCXCX0QSGKvv0fopoRkzAmL3LCVJVsyv+meuhZ4xW/cbt62Qvp7zI2fvJe
dUP42VJNzjuaert5476sfhjdtyjdtyjKhO2U1xhRLgPSxUSW/0MvjIs3eDwYMa3v
RBp4DfhNnbKF7lOisrtu658ughjfvyukd5dxftjj6vCZAxQuP7Bv7Dg/WFrJHDK2
dkP06mImwCV415LZagM0cEJzOecoyTkx+6Y6MJ+7rB1tpRk/je7zfUmthZ/0MhuB
o9S6wAPGFNbP+nXE8bxx//BAcfrV9lSDU1NkG4iCgRxDPRlPOfi3AgMBAAGjUzBR
MB0GA1UdDgQW45srthyazregt45yfxghtyj6jdyWgTAfBgNVHSMEGDAWgBQKW176
GE+v0qlcImNqu0mGmdyWgTAPBgNVHRMBAf8EBTADAQH/MA0GCSqGSIb3DQEBCwUA
A4IBAQA8/wmb+Sxdry65uvhjkhvztz4ebthxhjjSIl1J27X8rOKRNofLX3BRtyX9
mHLXHyYhuqaCAwGDohGoSqIkWejL4g+qQXZifW5We/MTByoWtB7aqKt3Wz0z8+TI
x/AkEo9bssIiNkEvUUlxQyFd7K/klHHw/dh3un3mGu2XrlzmbTqUlastW6n3bO11
UUS8aYC3L37VbjZQxug1ru9/I1j8I+mU272CEoI/eAXHyBd+GoZzREnxMyPzct7i
FHw7UMn2V6dJBtfZjOfqqX+xNTtZ9kQDaWO5s/JpRYX8hlfCKGD871J5ba4VfK1+
/rHJkgQLZaLk9Ysdtyu5678rdftjgyu9i87lhiolt67d56cyti67vhky7
-----END CERTIFICATE-----

Hinzufügen des Zertifikats zu Ihren Kameras

Laden Sie nun die Datei broker.pem über das SSL-Menü auf Ihre Broker-Kamera hoch.:

Selbstsigniertes Windows-Zertifikat für INSTAR MQTT-Broker

Stellen Sie nun sicher, dass das benutzerdefinierte Zertifikat aktiviert ist, und starten Sie Ihre Kamera neu:

Selbstsigniertes Windows-Zertifikat für INSTAR MQTT-Broker

Wechseln Sie zu der Kamera, die Sie als Client mit Ihrem Broker verbinden möchten, und laden Sie die Datei client.pem über das MQTT Menü hoch.:

Selbstsigniertes Windows-Zertifikat für INSTAR MQTT-Broker

Die MQTT Konfiguration Ihrer beiden Kameras sollte nun so aussehen (ersetzen Sie nur die IP-Adressen durch die IPs Ihrer Kameras):

Selbstsigniertes Windows-Zertifikat für INSTAR MQTT-Broker

Sie können jetzt alle Ihre verbleibenden INSTAR-Full-HD-Kameras auf die gleiche Weise zu Ihrer Brokerkamera hinzufügen.

Prüfung des MQTT-Netzwerks

Um zu überprüfen, ob die Verbindung erfolgreich war, können Sie das MQTT-Protokoll auf jeder Kamera unter /tmpfs/mqtt-log abrufen:

Selbstsigniertes Windows-Zertifikat für INSTAR MQTT-Broker

Die Brokerkamera sollte Ihnen zeigen, dass sie mit dem lokalen MQTT-Broker 127.0.0.1 über Ihren Nicht-SSL-Port (Standard 1883) verbunden ist:

[Info] Translations loaded: 266
[Info] Initalize Mqtt
[Info] Authenticate with Mqtt-Broker
[Info] Connect to Mqtt-Broker 127.0.0.1 on port 1883...
[Info] Initialize Fifo-Watcher
[Warning] A file at the fifo filepath already exists, delete file and retry!
[Info] Start Fifo-Watcher-Thread
[Info] Start listening...
[Info] Open fifo
[Info] Synchronize Cgi-Server with Mqtt-Broker

Und Ihre Client-Kameras sollten mit der IP-Adresse Ihrer Brokerkamera (in meinem Fall 192.168.2.117) über den SSL-Port (Standard) 8883 mit aktiviertem TLS verbunden sein:

[Info] Translations loaded: 266
[Info] Initalize Mqtt
[Info] Authenticate with Mqtt-Broker
[Info] Activate TLS
[Info] Connect to Mqtt-Broker 192.168.2.117 on port 8883...
[Info] Initialize Fifo-Watcher
[Warning] A file at the fifo filepath already exists, delete file and retry!
[Info] Start Fifo-Watcher-Thread
[Info] Start listening...
[Info] Open fifo
[Info] Synchronize Cgi-Server with Mqtt-Broker

Der letzte Eintrag [Info] Synchronize Cgi-Server with Mqtt-Broker zeigt Ihnen, dass die Verbindung erfolgreich war und alle beibehaltenen MQTT-Themen bei Ihrem MQTT-Broker veröffentlicht wurden. Falls dieser fehlt, ist etwas bei der SSL-Verbindung schiefgegangen.

MQTT.fx

Sie können jetzt ein Programm wie MQTT.fx mit Ihrem Broker verbinden, um zu versuchen, Befehle an alle Kameras in Ihrem MQTT-Netzwerk zu senden:

Selbstsigniertes Windows-Zertifikat für INSTAR MQTT-Broker

Beachten Sie, dass Sie auch hier die client.pem-Datei verwenden müssen, um sich per SSL mit dem Netzwerk zu verbinden - dieselbe Datei, die Sie auf alle Client-Kameras hochgeladen haben!

Abonnieren Sie das Platzhalter-Topic # - Sie sollten die zurückgehaltenen retained Meldungen aller Ihrer angeschlossenen Kameras sehen:

Selbstsigniertes Windows-Zertifikat für INSTAR MQTT-Broker

Und über das Publish Menü Befehle an Ihre Kameras senden können.