diff --git a/CHATLOG.md b/CHATLOG.md index 2afb7fa..34b4303 100644 --- a/CHATLOG.md +++ b/CHATLOG.md @@ -193,8 +193,41 @@ Fix → erneuter Test: - "speichere alles weg, damit wir eventuell später weiter machen können" → `HANDOFF.md` und dieses Chatlog auf den aktuellen Stand gebracht. +## Fortsetzung: M7-Härtung (SSH-Hostkey-TOFU) + +- Neuer Tag. Nutzer: "die Ferwall regeln hab ich aufgeräumt (Werksreset + durchgeführt). lass uns mit dem Härten weitermachen." → M7 gestartet + mit dem größten offenen Punkt: SSH-Hostkey-TOFU (`SSHTransport` nutzte + bisher `.acceptAnything()`). +- API vor der Umsetzung im swift-nio-ssh-Quellcode verifiziert statt + geraten (`NIOSSHPublicKey.write(to:)` für die Wire-Format-Bytes, + `NIOSSHClientServerAuthenticationDelegate`-Protokoll, + `EventLoopPromise` aus `NIOCore`). `SSHHostKeyFingerprint` + + `SSHHostKeyTrustStore` gebaut, `SSHTransport` conformt jetzt selbst + zum Delegate-Protokoll (wie `RestTransport` zu `URLSessionDelegate`), + `ConnectionService` bekam einen zweiten Bestätigungs-Flow analog zum + REST-Zertifikat. +- Für den Unit-Test wurden zwei echte Wegwerf-SSH-Schlüssel per + `ssh-keygen` erzeugt und der Fingerabdruck gegen `ssh-keygen -lf` + kreuzgeprüft (`SHA256:Hllxv6LLoHl2XTIXGGjUYJHbPFoH2F7iMrR74C5J95g`) — + stimmte exakt überein. Ein Test-Isolationsbug (geteilte echte + `UserDefaults` zwischen zwei Tests ohne `tearDown`) wurde dabei + gefunden und gefixt. Alle 26 Tests grün, `xcodebuild test` lief diesmal + ohne den bekannten Gatekeeper-Hänger durch. +- Nutzer testete live, meldete danach: "der 'Trennen-Button' fehlt noch" + — `ConnectionService.disconnect()` gab es schon (bisher nur intern + nach Werksreset genutzt), aber keinen UI-Zugang im Verbinden-Tab. + Button ergänzt. +- Nutzer bestätigte danach: "funktioniert sauber" — SSH-Hostkey-TOFU + live verifiziert (Dialog bei erster Verbindung, kein Dialog nach + Trennen+Neuverbinden). +- "erstmal alles speichern, dann schluß für heute" → `HANDOFF.md` und + dieses Chatlog aktualisiert, Session beendet. + ## Stand am Ende dieser Session -Siehe `HANDOFF.md` für den vollständigen technischen Stand, offene -Punkte (Firewall-Regel-Nachtest, WLAN-Hardware-Test, M7-Härtung) und -bekannte Einschränkungen. +Siehe `HANDOFF.md` für den vollständigen technischen Stand. SSH-Hostkey- +TOFU (M7) ist fertig und live bestätigt. Offene Punkte: Firewall-Regeln +mit korrektem WAN-Port nach dem Werksreset noch nicht erneut kontrolliert, +WLAN-`.set`-Pfad weiterhin ohne Testgerät mit echtem WLAN-Chip, Rest von +M7 (Fehlerzustände/Politur, REST-Schreibtest mit aktivem `www-ssl`).