Этап 0 п.3: безопасность-минимум (trust-all off в release, шифрование пароля, allowBackup, ревокация)

1. trust-all TLS отключён в release: гейт if(!BuildConfig.DEBUG) в UnsafeSsl +
   OfficeWebViewClient + TalkCallActivity; чекбокс скрыт в release. buildConfig
   включён в core:network и feature:talk.
2. allowBackup=false (tools:replace поверх vendor true).
3. app password шифруется в покое AndroidKeystore AES-256-GCM (KeystoreCrypto),
   AuthStore мигрирует legacy-plaintext при первом load. Биометрия — отдельная
   задача (ломает фоновые push/звонки, нужен кэш в памяти).
4. Ревокация app password при logout (AppPasswordRevoker, DELETE core/apppassword,
   best-effort).

Проверено: assembleRelease 53 МБ, подпись v2+v3, allowBackup=false в манифесте OK.
This commit is contained in:
b-dev-mobile
2026-07-07 19:51:23 +00:00
parent c259936e82
commit 51fd1bf936
12 changed files with 167 additions and 20 deletions
+1
View File
@@ -30,6 +30,7 @@ legacy WebView-оболочки `android-webview`.
| Контракт | Что используется |
|---|---|
| OCS `/ocs/v2.php/cloud/user` | авторизация, `davUserId` (пароль/app-password при 2FA) |
| OCS `DELETE /ocs/v2.php/core/apppassword` | ревокация app password при logout (best-effort) |
| WebDAV | файлы (PROPFIND, `oc:fileid`) |
| CalDAV | календарь и задачи |
| CardDAV | контакты |