Heute möchte ich mal wieder über den aktuellen Stand der Implementation berichten.
Allgemein:
- Die Konfigurationsdatei auf dem Server wurde auf das nötigste reduziert.
- Der workaround mit dem Benutzerrepository als Propertiesdatei wurde mit dem neuen OpenLDAP Backend abgelöst.
- Die Initialisierung der Karten schreibt automatisch in das LDAP Backend
- Die Generierung eines random secret per Transponder Chipkarte findet nun automatisiert bei jeder Initialisierung neu statt und landet ordnungsgemäß im LDAP Backend.
- Die Methode zur Ermittlung der Karteninhalte wurde zentralisiert.
- Mails werden nun in einem Hintergrund Thread versendet um die Zeit beim Verbindungsaufbau zum Mailserver nicht im Authentisierungsprozess mit dabei zu haben.
- Die Authentisierung als extra background thread zu integrieren habe ich wieder zurückgenommen. Der Leser liest einfach die Karten im Feld zu schnell aus und da kam es zu mehrfach Authentisierung.
- Monitor integriert um Verbindungsabbrüche vom Leser zu erkennen um ggf. Aktionen einzuleiten.
- Serverüberwachung in die FHEM Console integriert (CPU / Load / Speicher / Prozesse / Swap)
Offene Punkte:
- Der Call bei der FEIG bezüglich der fehlenden SSL Implementierung in den Raspberry Treibern ist noch offen. Hier warte ich auf ein neues Release das bislang nicht angekündigt wurde.
- Call bei der FEIG eröffnet bzgl. der RandomUID Option der DESFire Karten. Die reale UID wird wohl bei der Authentifizierung nicht ausgelesen und übermittelt.
- Monitoring Thread erkennt aktuell potentielle Verbindungsabbrüche zwischen Leser und Server. Er schickt daraufhin einen Notifizierungsrequest um den Leser wieder aufzuwecken. Das ist aktuell nur ein Versuch um hinter das Problem zu kommen.
Evtl. muss ich hier auch noch einen Call bei der FEIG aufmachen. - LDAP Kommunikation mit SSL verschlüsseln
- Ordentlicher Stop-Mechanismus für den Serverprozess
- Planung und Entwicklung eines grafischen Frontends um die Daten (Benutzer, Transponder, Zugangspunkte, Rollen und Regeln) zu verwalten. Hier bin ich noch am Überlegen ob ich für die Verwaltung einen WebService entwickle oder eine Android App. Ersteres wäre generisch und letzteres stylisch und hip. 🙂