Lieber Emont,
erstmal vielen Dank für deine schnelle Antwort. Ich habe heute vieles weiter probiert, kann das Problem aber noch nicht lösen.
Ich muss zugeben, dass mit den Zertifikaten habe ich noch nicht richtig verstanden. Ich habe wie hier beschrieben (
http://www.fhemwiki.de/wiki/FritzBox_Webzugriff_absichern) eine server-cert.pem und eine server-key.pem erstellt. Auf meiner Synology Diskstation, auf der der FHEM läuft. Im Ordner /usr/local/FHEM/share/fhem/certs. Danach habe ich vermutlich wirklich beide Dateien vertauscht. Mittlerweile habe ich einen kleinen Fortschritt erreicht, aber es funktioniert irgendwie immer noch nicht. Und wie ich an ein privates PKCS12 komme ist mir auch unklar.
Kurz mal mein (vermutlich falsches, bisheriges) Verständnis der beiden Dateien: der server-cert.pem ist das Zertifikat des Servers. Dieses Zertifikat (bzw. einen Teil davon) sendet der Server aus, wenn jemand versucht, den Server zu erreichen. Deswegen muss dieses Server-Zertifikat auf dem Server liegen und liegen bleiben. Im dem Zertifikat steht unter anderem auch ein öffentlicher key (im Prinzip der gesamte Inhalt des server-key.pem). Mein Verständnis war: diesen öffentliche Schlüssel, also nur die Datei server-key.pem - muss an die clients verteilt werden. Und die Clients können mit diesem Schlüssel das, was der Server aussendet, verififzieren. Und wissen dann: das ist genau der Server, den ich erreichen wollte. Ich habe also nicht nur eine per SSL verschlüsselte Verbindung, sondern auch noch sichergestellt, mit wem (nämlich mit dem tatsächlichen Aussteller des Schlüssels).
Ich dachte außerdem, dass man sich dann noch zusätzlich (optional) auch als client gegenüber dem Server mit einem persönlichen Zertifikat verifizieren kann. Darum wollte ich mich dann aber später kümmern. Eine BasicAuth gibt es ja bereist. Und die Kommunikation sollte durch die ersten beiden Dateien bereits abgesichert sein.
Davon abweichend habe ich jetzt aber einfach mal trotzdem beide Dateien (die server-cert.pem und die server-key.pem) auf das smartphone geladen und damit getestet.
Wenn ich die lokale IP für den FHEM-Server in der app eingegebe, funktioniert die Kommunikation mit dem Server:
URL
https://192.168.5.100:8083/fhem/geonach wie vor kein PKCS12 (so eines habe ich ja gar nicht)
Aussteller-Zertifikat: server-cert.pem
Es funktioniert mit gleichen Einstellungen auch komplett OHNE Aussteller-Zertifikat. Aber NICHT mit einem falschen (z.b. dem server-key.pem, den ich gestern verwendet habe).
Wenn ich nun nichts ändere außer die URL und statt der IP-Adresse mein *.myfritz.net-DNS verwende, funktioniert die Kommunikation mit dem Server nicht. Und zwar weder mit dem server-cert.pem noch mit dem server-key.pem. Am dyndns liegt es aber nicht: ohne SSL/HTTPS funktioniert ein parallel auf einem anderen Port eingerichteter Server problemlos.
Eventuell liegt es tatsächlich daran, dass die Synology Diskstation so etwas wie einen Apache-Proxy automatisch verwendet. Und zwar nur, wenn von außen drauf zugegriffen wird und nicht bei direktem Aufrug per IP-Adresse. Ich habe da aber nichts selbst eingerichtet. Kann nur nicht ausschließen, dass die diskstation so was macht. Es gibt jedenfalls auch von Haus aus verschiedene Webserver, die auf anderen Ports der Diskstation laufen. Hast du eine Idee, wie ich das herausfinden oder beeinflussen kann?
Ich fürchte, dass es also insgesamt eher an meiner Konstellation hier liegt und verstehe auch, dass du dieses Problem dann nicht lösen kannst. Werde mir ohnehin auch aus anderen Gründen eventuell bald eine RPI zulegen und hoffe, dass das Einrichten dann problemloser funktioniert (falls es nicht doch noch eine schnelle Lösung gibt).
Kannst du mir denn erklären, wie ich aus den bisher vorhandenen 2 pem-Dateien (oder einfach zusätzlich) die benötigen PKCS12-Datei mit Passwort erstelle? Bzw. wo ich eine gute Anleitung dazu finde?
Viele Grüße
Sascha