CH-J SM Mobilespráva serverů přes SSH
Menu
Vydané zdroje

CH-J SM Mobile

Procházejte adresáře a soubory konkrétního vydání aplikace.

Stáhnout zdroje ZIP
CH-J / SM Mobile 134 souborů
sm-mobile-20261016T050549Z-3678f2a05fa9 Přidáno: · Sestaveno:
Soubory
host_verifier.dart Přidáno: Datum není evidováno 913 B · 32 řádků
Stáhnout soubor
1import '../core/failure.dart';
2import 'vault.dart';
4typedef TrustPrompt =
5 Future<bool> Function(String endpoint, String type, String fingerprint);
7class HostVerifier {
8 final Vault vault;
9 HostVerifier(this.vault);
10 Future<bool> verify(
11 String endpoint,
12 String type,
13 String fingerprint,
14 TrustPrompt prompt,
15 ) async {
16 if (!RegExp(r'^SHA256:[A-Za-z0-9+/]{43}$').hasMatch(fingerprint)) {
17 throw const Failure('hostRejected');
18 }
19 final epoch = vault.generation;
20 final previous = vault.fingerprint(endpoint);
21 if (previous != null) {
22 if (previous != fingerprint) throw const Failure('hostChanged');
23 return true;
24 }
25 if (!await prompt(endpoint, type, fingerprint)) {
26 throw const Failure('hostRejected');
27 }
28 if (epoch != vault.generation) throw const Failure('locked');
29 await vault.trust(endpoint, fingerprint);
30 return true;
31 }
SHA-256abd25d6bc94824a18c99bac9cd4646d347dd37a381d02b27b852b44f69b2117d

CH-J Proprietary Software License 1.14 · Zdroje jsou zveřejněny pod CH-J Proprietary Software License 1.14. Jejich dostupnost nemění licenční podmínky ani neposkytuje další oprávnění.

SHA-256 archivuc486a807e4828998b9c57ab0f2e760f7980b31965fe118e89d3e1a5a2b65be65