Server Socket SSL mit automatischem Zertifikat

Hallo,

ich benötige in einem Modul einen SSL Server Socket. Jetzt kann oder möchte ich dem Nutzer nicht zumuten, selber ein Zertifikat anzulegen, u.a. weil dies auf jeder Plattform auch etwas anders funktioniert.
Das verwendete Gerät ist relativ anspruchslos, ebenso die Sicherheit eigentlich nicht notwendig. Leider habe ich keine Möglichkeit dem Client SSL zu deaktivieren.

Jetzt wäre es ziemlich cool, IP-Symcon würde beim Anlegen eines SSL basierten Sockets automatisch ein z.B. 10 Jahre gültiges Zertifikat, ggf. auch automatisch mit dem Geräte-Hostname anlegen, selbst signieren und im Server Socket registrieren.

Wenn der Nutzer doch ein eigenes Zertifikat haben möchte, ist ihm ja freigestellt, dass jederzeit zu machen.

Soweit mir bekannt, habt ihr sowieso die openssl Bibliothek auf jeder Plattform verfügbar.

Wenn php korrekt konfiguriert ist, wäre es theoretisch auch möglich diesen Schritt selber in php mit openssl_pkey_new, openssl_csr_new und openssl_csr_sign zu machen. Aber das wäre aufwendig und jeder Entwickler müsste das selber implementieren.

Ich helfe mir aktuell damit, indem ich ein „generic“ Zertifikat mitliefere. Aber das würde ich gerne vermeiden.

Gruß
Tobias

PS: Die Instanzkette soll der Konfigurator erzeugen. Wenn der Nutzer jetzt eine fertige Infrastruktur hätte (also Server Socket und mqtt Splitter), müsste das natürlich nicht nochmal alles angelegt werden. Kann ich das beeinflussen und gleichzeitig meinen „Wunsch“ für ein Zertifikat (oder Port) mit angeben?

Für das Zertifikat kann ich dir helfen.
Gibt es hier fertigen Code:
IPSNetwork/module.php at c31cc55a9ae6e9a7be835ae35eeaa9395964c27e · Nall-chan/IPSNetwork · GitHub

Allerdings aus der Zeit bevor der Serversocket das konnte, somit ist das Handling mit dem fertigen Zertifikat bestimmt nicht so zu gebrauchen.

Was die Config in der Kette betrifft, bin ich mir da unsicher.
Du kannst ja Property der Kette vorgeben und auch alternative Konfigs angeben.
Dann muss der User beim erstellen aber die Variante auswählen.
Michael

Die Idee ist einfach und gut. Ich notiere das mal :slight_smile:

paresy