@pmayer
Habe dann Mal die IP Adresse des Servers eingetragen
Dann kam das:
homegear.err
09/08/17 11:15:04.377 Module HomeMatic BidCoS: LAN-Konfigurationsadapter "IWIL-HM-CFG-LAN": Warning: !!!Not!!! sending (encrypted): K
09/08/17 11:15:25.381 MQTT Client: Error in file MQTT/Mqtt.cpp line 108 in function void Mqtt::start(): Certificate verification is enabled, but "caFile" and "caData" are not specified for the host "143.93.197.89".
09/08/17 11:15:25.388 RPC Server (Port 2001): Error in file RPC/RPCServer.cpp line 1700 in function void Rpc::RPCServer::getSocketDescriptor(): No IP address could be found.
09/08/17 11:15:25.442 RPC Server (Port 2002): Error in file RPC/RPCServer.cpp line 1700 in function void Rpc::RPCServer::getSocketDescriptor(): No IP address could be found.
09/08/17 11:15:25.495 RPC Server (Port 2003): Error in file RPC/RPCServer.cpp line 1700 in function void Rpc::RPCServer::getSocketDescriptor(): No IP address could be found.
09/08/17 11:15:25.504 UPnP Server: Error in file UPnP/UPnP.cpp line 189 in function void UPnP::getAddress(): No IP address could be found.
09/08/17 11:15:25.505 UPnP Server: Error: Could not get IP address.
09/08/17 11:15:25.505 Warning: Not starting server, because no suitable RPC server for serving the XML description is available (Necessary settings: No SSL, no auth, webserver enabled).
Kannst du damit was anfangen muss ich doch meine CA Files einbinden?
Habe mal mein fullchain.pem eingebunden als caFile:
homegear.err
09/08/17 11:26:10.683 MQTT Client: Error in file MQTT/Mqtt.cpp line 984 in function void Mqtt::connect(): Server's hostname does not match the server certificate.
Würde sagen das LE Zertifikat geht wohl doch nicht so ohne weiteres?
… oder vom Host wird ein anderens gesendet. Das kannst du mit openssl raus finden.
Damit hast du jetzt aber alles in der Hand um auch dein self-signed zu debuggen.
Würdest du für die config files “Preformated Text” zur formatierung wählen? Ich hatte das in den ganzen Posts für dich angepasst. 6. Icon in der Leiste beim Bearbeiten.
Passt ja irgendwie nicht ganz mein Server heißt ja IWILR3-3 und mein Client IWILR2-4
Habe dann mal mein selbst erstelltes Zertifikat wieder eingebunden und auch ein Client Zertifikat erstellt.
Das habe ich dann folgend eingebunden.
Homegear Conf
### TLS options ###
# Set to "true" to enable SSL encryption for MQTT.
enableSSL = true
# The path to the certificate authority's certificate
caFile = /etc/homegear/m2mqtt_ca.crt
# verifyCertificate checks if the server certificate received by the
# MQTT broker is signed by one of the root CAs in /etc/ssl/certs. If you use
# a self signed certificate, please put your root certificate in that
# directory. Only disable the verification for testing purposes. Without
# verification any attacker can pose as your MQTT broker.
# Default: verifyCertificate = true
verifyCertificate = true
# The path to the PEM encoded client certificate.
certPath = /etc/homegear/client.crt
# The path to the PEM encoded client keyfile.
keyPath = /etc/homegear/client.key
Nun bekomme ich folgende Meldung im Log angezeigt.
Log
09/08/17 13:06:41.579 MQTT Client: Error in file MQTT/Mqtt.cpp line 108 in function void Mqtt::start(): Could not load client certificate and key from "/etc/homegear/client.crt" and "/etc/homegear/client.key": Decryption has failed.
ich habe jetzt nicht den ganzen Thread gelesen, aber die Zertifikate müssen im PEM-Format vorliegen und von einer (oder deiner) Zertifizierungsstelle signiert sein (Anleitung: CA › Wiki › ubuntuusers.de).
Hier einmal drei Beispielzertifikate, mit denen es in jedem Fall funktionieren sollte: mqtt_certs.zip (7.3 KB).
Viele Grüße
Sathya
Nachtrag: Die zugehörigen Zeilen in der mqtt.conf:
### TLS options ###
# Set to "true" to enable SSL encryption for MQTT.
enableSSL = true
# The path to the certificate authority's certificate
caFile = /etc/homegear/mqttca.crt
# verifyCertificate checks if the server certificate received by the
# MQTT broker is signed by one of the root CAs in /etc/ssl/certs. If you use
# a self signed certificate, please put your root certificate in that
# directory. Only disable the verification for testing purposes. Without
# verification any attacker can pose as your MQTT broker.
# Default: verifyCertificate = true
verifyCertificate = true
# The path to the PEM encoded client certificate.
certPath = /etc/homegear/mqtt.crt
# The path to the PEM encoded client keyfile.
keyPath = /etc/homegear/mqtt.key
Nachtrag 2: Decryption has failed. => Ist dein Client-Key verschlüsselt? Die Datei muss anfangen mit -----BEGIN RSA PRIVATE KEY-----.
vielen Dank für deine Antwort! Meines Wissens fing die Datei mit der “–BEGIN RSA PRIVATE KEY-----” Zeile an. Leider kann ich aufgrund der Beendigung meiner Abschlussarbeit, diesen Lösungsversuch nicht mehr am System implementieren. Ich habe innerhalb meiner Arbeit, diesen Thread unter anderem als Quelle für die Implementierung der Verschlüsselung angegeben. Die Realisierung der Sicherheit wurde mittels einer Tunnel Verbindung zwischen den verschieden Devices realisiert. Ich hoffe dieser Thread kann anderen Usern der Software Homegear weiterhelfen und bedanke mich für den guten Support @pmayer@sathya! Des Weiteren würde ich dir gerne dir @sathya für das sehr gute Programm und die in die Programmierung investierte Zeit danken!