# Testovací scénáře a stav Ověřování probíhalo 14. října 2026 na Apple Silicon Macu, Flutter stable 3.47.7 / Dart 3.13.5, Xcode 27.0, Android SDK 36. Testy nepoužívají skutečné produkční servery ani uživatelovy SSH klíče. ## Automatické kontroly | Kontrola | Stav | | --- | --- | | `flutter pub get` | Prošlo | | `flutter analyze` | Prošlo, bez nálezů | | `flutter test` | 20 úspěšných unit/widget testů; 6 síťových testů se bez opt-in přeskočí | | `python3 tool/test_openssh.py` | 4 úspěšné reálné síťové scénáře | | `python3 tool/test_linux.py --context colima-sm-mobile-test` | 2 úspěšné scénáře proti skutečnému Linux OpenSSH: heslo, metriky a zrušení monitoru | | Nativní integrační test Android Emulator API 36 / ARM64 | Prošlo | | Nativní integrační test iOS 27 Simulator / iPhone 18 Pro | Prošlo | | `flutter build apk --debug` | Prošlo | | `flutter build appbundle --debug` | Prošlo | | `flutter build ios --simulator` | Prošlo | | `flutter build ios --release --no-codesign` | Prošlo, nepodepsaný device build | | Kontrola desktopových zdrojů před/po pomocí SHA-256 | 0 změněných souborů | Unit/widget testy pokrývají hostname a IPv6 identity, neplatné profily, verzi a limity JSON, nepřenášení tajemství, autentizované šifrování, nesprávné heslo a poškozený tag, neúspěšný zápis úložiště, zamčení a zrušení rozpracovaného odemykání, první/známý/změněný/odmítnutý host key, biometrický klíč přes testovací rozhraní, nebezpečné cesty, skutečný lokální DNS/TCP probe, licenční bránu a CS/DE/EN widgety včetně landscape se zvětšeným textem. OpenSSH test vytvoří dočasnou ed25519 identitu s passphrase a ověřuje skutečný PTY s ANSI výstupem, změnu rozměrů, SFTP upload/download a shodu bytů, odmítnutí přepisu, rename/remove/mkdir/rmdir, odmítnutí symlinku, zrušení uploadu/downloadu a cleanup, chybu vstupního streamu, reconnect bez opakovaného trust promptu, změnu host key, neúspěšnou autentizaci, skutečný handshake timeout a ztrátu živého TCP transportu. Na macOS kontroluje odmítnutí Linux monitoru; na Linuxu má scénář pro skutečné metriky. Nativní integrační test používá skutečný Keychain / Keystore v odděleném testovacím namespace. Prochází explicitní souhlas s licencí, vytvoření Vaultu, formulář profilu, připojení ke skutečnému OpenSSH s ověřením očekávaného fingerprintu, terminál, SFTP obrazovku, zamčení s odpojením a opětovné odemknutí hlavním heslem. Testovací klíče jsou jednorázové, pouze ve fixture, a nejsou součástí produkčního buildu. Linux fixture používá skutečný ARM64 Linux v oddělené Colima VM a OpenSSH kontejner připnutý OCI digestem. Ověřeno bylo úspěšné heslo, fingerprint ověřený uvnitř fixture, CPU/RAM/disk/uptime/load/OS/SSH RTT i ukončení rozpracovaného monitoru. Hodnoty nejsou simulované. ## Implementováno, ale dosud bez ověření na fyzickém zařízení - Face ID / Touch ID / Android biometry a OS device-credential fallback, včetně OS ochrany dešifrovacího klíče. Zdrojová konfigurace je ověřena; test s falešným SecureStore není důkaz fungování hardwarové biometrie. - Výběr souboru, sdílení do Files / Documents providerů, reálné velké přenosy a případné ztráty sítě při přepínání Wi-Fi/VPN. - IPv6 připojení na skutečné mobilní síti, iPad, velmi velké fonty ve všech obrazovkách a kompletní screen-reader audit. - Podpisy pro distribuci a ověření App Store / Play Store. Vývojový APK/AAB a nepodepsaný iOS build nejsou publikovaná vydání. Záznamy finálních běhů, hashe APK/AAB a kontrola nepřítomnosti testovacího vstupního bodu jsou v `docs/verification/`. ## Ruční ověření před vydáním 1. Android 11+ a iPhone/iPad iOS 15+: nový Vault, restart, špatné i správné heslo, neaktivita a odchod do pozadí; ověřte uzavření SSH a absenci snapshotu citlivé obrazovky. 2. Zapněte biometrii; zamkněte; odemkněte biometrikou i kódem zařízení; odmítněte dialog; změňte biometrické nastavení; ověřte fallback hlavním heslem bez nezabezpečeného náhradního klíče. 3. Izolovaný Linux OpenSSH: heslo, nešifrovaný i šifrovaný klíč, špatná passphrase, první fingerprint ověřený mimo aplikaci, reconnect, výměna host key musí připojení blokovat. 4. PTY: UTF-8, ANSI, `top`, `nano`, Ctrl-C, Ctrl-D, TAB, ESC, ALT, šipky, IME, kopírování/vkládání, otočení zařízení a změna velikosti klávesnice. Kontrolujte skutečné provedení příkazu, nikoli pouhé echo vstupu. 5. SFTP: adresář prázdný/neprázdný, read-only účet, odmítnutá oprávnění, soubor 1+ GiB při sledování RAM, zrušení a pád spojení, existující cíl, symlink v libovolné komponentě cesty. Při výpadku ověřte a případně odstraňte vzdálený `.part`. 6. Import desktopového v1 JSON, duplicity v souboru i proti Vaultu, všechny tři politiky, import po zamčení nesmí pokračovat; export otevřete v desktopu a ověřte absenci tajemství. 7. Linux monitor porovnejte s `/proc`, `df` a `uptime`; změňte interval a přepněte obrazovku/uspěte aplikaci — nesmí pokračovat refresh. DNS/TCP zkoušejte odděleně pro IPv4/IPv6 a zkontrolujte přesné popisy RTT/handshake/ICMP omezení. 8. Aktualizace se stejnou verzí, ale novým build ID musí znovu zobrazit doporučení a požadovat licenci. Odmítnutí musí blokovat všechny serverové funkce. Záměrné limity první verze: jediná aktivní SSH relace, POSIX SFTP bez následování symlinků a bez přepisu cíle, nerekurzivní mazání, bez CSV, bez UI pro rotaci důvěryhodného host key, bez ICMP/traceroute a bez trvalého běhu na pozadí. Nejsou přidány funkce vyloučené zadáním, cloud, plugin systém nebo auto-updater. Jde o funkční vývojovou alfu, nikoli o kompletně ověřené produkční vydání.
Opublikowane źródło
Pobierz źródło ZIP
CH-J SM Mobile
Przeglądaj katalogi i pliki dla konkretnego wydania aplikacji.
CH-J / SM Mobile
134 pliki
sm-mobile-20261016T050549Z-3678f2a05fa9
Dodano: · Built:
1
# Testovací scénáře a stav3
Ověřování probíhalo 14. října 2026 na Apple Silicon Macu, Flutter stable 3.47.7 / Dart 3.13.5, Xcode 27.0, Android SDK 36. Testy nepoužívají skutečné produkční servery ani uživatelovy SSH klíče.5
## Automatické kontroly7
| Kontrola | Stav |8
| --- | --- |9
| `flutter pub get` | Prošlo |10
| `flutter analyze` | Prošlo, bez nálezů |11
| `flutter test` | 20 úspěšných unit/widget testů; 6 síťových testů se bez opt-in přeskočí |12
| `python3 tool/test_openssh.py` | 4 úspěšné reálné síťové scénáře |13
| `python3 tool/test_linux.py --context colima-sm-mobile-test` | 2 úspěšné scénáře proti skutečnému Linux OpenSSH: heslo, metriky a zrušení monitoru |14
| Nativní integrační test Android Emulator API 36 / ARM64 | Prošlo |15
| Nativní integrační test iOS 27 Simulator / iPhone 18 Pro | Prošlo |16
| `flutter build apk --debug` | Prošlo |17
| `flutter build appbundle --debug` | Prošlo |18
| `flutter build ios --simulator` | Prošlo |19
| `flutter build ios --release --no-codesign` | Prošlo, nepodepsaný device build |20
| Kontrola desktopových zdrojů před/po pomocí SHA-256 | 0 změněných souborů |22
Unit/widget testy pokrývají hostname a IPv6 identity, neplatné profily, verzi a limity JSON, nepřenášení tajemství, autentizované šifrování, nesprávné heslo a poškozený tag, neúspěšný zápis úložiště, zamčení a zrušení rozpracovaného odemykání, první/známý/změněný/odmítnutý host key, biometrický klíč přes testovací rozhraní, nebezpečné cesty, skutečný lokální DNS/TCP probe, licenční bránu a CS/DE/EN widgety včetně landscape se zvětšeným textem.24
OpenSSH test vytvoří dočasnou ed25519 identitu s passphrase a ověřuje skutečný PTY s ANSI výstupem, změnu rozměrů, SFTP upload/download a shodu bytů, odmítnutí přepisu, rename/remove/mkdir/rmdir, odmítnutí symlinku, zrušení uploadu/downloadu a cleanup, chybu vstupního streamu, reconnect bez opakovaného trust promptu, změnu host key, neúspěšnou autentizaci, skutečný handshake timeout a ztrátu živého TCP transportu. Na macOS kontroluje odmítnutí Linux monitoru; na Linuxu má scénář pro skutečné metriky.26
Nativní integrační test používá skutečný Keychain / Keystore v odděleném testovacím namespace. Prochází explicitní souhlas s licencí, vytvoření Vaultu, formulář profilu, připojení ke skutečnému OpenSSH s ověřením očekávaného fingerprintu, terminál, SFTP obrazovku, zamčení s odpojením a opětovné odemknutí hlavním heslem. Testovací klíče jsou jednorázové, pouze ve fixture, a nejsou součástí produkčního buildu.28
Linux fixture používá skutečný ARM64 Linux v oddělené Colima VM a OpenSSH kontejner připnutý OCI digestem. Ověřeno bylo úspěšné heslo, fingerprint ověřený uvnitř fixture, CPU/RAM/disk/uptime/load/OS/SSH RTT i ukončení rozpracovaného monitoru. Hodnoty nejsou simulované.30
## Implementováno, ale dosud bez ověření na fyzickém zařízení32
- Face ID / Touch ID / Android biometry a OS device-credential fallback, včetně OS ochrany dešifrovacího klíče. Zdrojová konfigurace je ověřena; test s falešným SecureStore není důkaz fungování hardwarové biometrie.33
- Výběr souboru, sdílení do Files / Documents providerů, reálné velké přenosy a případné ztráty sítě při přepínání Wi-Fi/VPN.34
- IPv6 připojení na skutečné mobilní síti, iPad, velmi velké fonty ve všech obrazovkách a kompletní screen-reader audit.35
- Podpisy pro distribuci a ověření App Store / Play Store. Vývojový APK/AAB a nepodepsaný iOS build nejsou publikovaná vydání.37
Záznamy finálních běhů, hashe APK/AAB a kontrola nepřítomnosti testovacího vstupního bodu jsou v `docs/verification/`.39
## Ruční ověření před vydáním41
1. Android 11+ a iPhone/iPad iOS 15+: nový Vault, restart, špatné i správné heslo, neaktivita a odchod do pozadí; ověřte uzavření SSH a absenci snapshotu citlivé obrazovky.42
2. Zapněte biometrii; zamkněte; odemkněte biometrikou i kódem zařízení; odmítněte dialog; změňte biometrické nastavení; ověřte fallback hlavním heslem bez nezabezpečeného náhradního klíče.43
3. Izolovaný Linux OpenSSH: heslo, nešifrovaný i šifrovaný klíč, špatná passphrase, první fingerprint ověřený mimo aplikaci, reconnect, výměna host key musí připojení blokovat.44
4. PTY: UTF-8, ANSI, `top`, `nano`, Ctrl-C, Ctrl-D, TAB, ESC, ALT, šipky, IME, kopírování/vkládání, otočení zařízení a změna velikosti klávesnice. Kontrolujte skutečné provedení příkazu, nikoli pouhé echo vstupu.45
5. SFTP: adresář prázdný/neprázdný, read-only účet, odmítnutá oprávnění, soubor 1+ GiB při sledování RAM, zrušení a pád spojení, existující cíl, symlink v libovolné komponentě cesty. Při výpadku ověřte a případně odstraňte vzdálený `.part`.46
6. Import desktopového v1 JSON, duplicity v souboru i proti Vaultu, všechny tři politiky, import po zamčení nesmí pokračovat; export otevřete v desktopu a ověřte absenci tajemství.47
7. Linux monitor porovnejte s `/proc`, `df` a `uptime`; změňte interval a přepněte obrazovku/uspěte aplikaci — nesmí pokračovat refresh. DNS/TCP zkoušejte odděleně pro IPv4/IPv6 a zkontrolujte přesné popisy RTT/handshake/ICMP omezení.48
8. Aktualizace se stejnou verzí, ale novým build ID musí znovu zobrazit doporučení a požadovat licenci. Odmítnutí musí blokovat všechny serverové funkce.50
Záměrné limity první verze: jediná aktivní SSH relace, POSIX SFTP bez následování symlinků a bez přepisu cíle, nerekurzivní mazání, bez CSV, bez UI pro rotaci důvěryhodného host key, bez ICMP/traceroute a bez trvalého běhu na pozadí. Nejsou přidány funkce vyloučené zadáním, cloud, plugin systém nebo auto-updater. Jde o funkční vývojovou alfu, nikoli o kompletně ověřené produkční vydání.SHA-256
bb2f0da11bccc1fbc96867312ff590b20c2cd824643f3f3c60a40c8e6341c395CH-J Proprietary Software License 1.14 · Źródło jest dostarczane pod CH-J Proprietary Software License 1.14. Jego dostępność nie zmienia warunków licencji ani nie przyznaje dodatkowych praw.
SHA-256
c486a807e4828998b9c57ab0f2e760f7980b31965fe118e89d3e1a5a2b65be65