feat: SQLCipher-Verschluesselung der pyramid.sqlite (M1) via neue Storage-Fassade app_database.dart
- AppDatabase.open()/openForPush() kapseln Factory, Schluessel (Keystore), Klartext->SQLCipher-Migration (Backup/Verify/atomarer Tausch) und PRAGMAs - Android/Windows/Linux verschluesselt, iOS/macOS bewusst Klartext - 5 neue Tests mit echter SQLCipher-DLL; Windows-Praxistest mit echter DB erfolgreich (23 Tabellen verifiziert, E2EE intakt); Android UNGETESTET
This commit is contained in:
+11
@@ -42,6 +42,17 @@ Punkte abhaken (`[x]`), wenn erledigt UND in `PROGRESS.md` protokolliert.
|
||||
+ Memory „Pyramid Push" erneut konsultieren und die dort gelisteten 3
|
||||
Fallstricke der Hintergrund-Entschlüsselung gegenprüfen.
|
||||
- [ ] **Sichere Speicherung von Access-Token & Krypto-DB: LÜCKE GEFUNDEN.**
|
||||
**Stand 2026-07-06: UMGESETZT + auf Windows praxisgetestet** – neue
|
||||
Storage-Fassade `lib/core/app_database.dart` (SQLCipher auf
|
||||
Android/Windows/Linux, Schlüssel im Keystore, Klartext-Migration mit
|
||||
Backup/Verifikation/atomarem Tausch, Push-Isolate-Marker). Bernds echte
|
||||
Windows-DB wurde erfolgreich migriert (PROGRESS.md 2026-07-06), Tests in
|
||||
`test/app_database_test.dart` fahren die Migration mit echtem SQLCipher.
|
||||
**Bleibt offen, weil Android UNGETESTET ist** (Migration auf Gerät,
|
||||
Push-Isolate liest verschlüsselte DB, secure_storage im
|
||||
Background-Isolate) – Testplan Punkt 4 in `docs/SQLCIPHER_MIGRATION.md`;
|
||||
erst nach grünem Gerätetest Release + Utas Gerät (vorher ihr Key-Backup
|
||||
prüfen!), dann abhaken.
|
||||
`sqlcipher_flutter_libs` steht zwar in `pubspec.yaml`, wird aber nirgends
|
||||
benutzt – `matrix_client.dart` und `background_push.dart` öffnen die
|
||||
`pyramid.sqlite` (Access-Token, gepickelter Olm-Account, Nachrichten) über
|
||||
|
||||
Reference in New Issue
Block a user