Közzétett forrás
Letöltés forrás ZIP
CH-J SM Mobile
Könyvtárak és fájlok böngészése egy adott alkalmazás kiadásához.
CH-J / SM Mobile
134 fájlok
sm-mobile-20261016T050549Z-3678f2a05fa9
Hozzáadva: · Beépített:
1
import '../core/failure.dart';2
import 'vault.dart';4
typedef TrustPrompt =5
Future<bool> Function(String endpoint, String type, String fingerprint);7
class 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
}32
}SHA-256
abd25d6bc94824a18c99bac9cd4646d347dd37a381d02b27b852b44f69b2117dCH-J Proprietary Software License 1.14 · A forrás a CH-J Proprietary Software License 1.14 alatt található. Rendelkezése nem változtatja meg a licenc feltételeit, és nem ad további jogokat.
Archive SHA-256
c486a807e4828998b9c57ab0f2e760f7980b31965fe118e89d3e1a5a2b65be65