CH-J SM Mobileуправление на сървъри над SSH
Меню
Публикуван източник

CH-J SM Mobile

Преглед на директории и файлове за конкретна версия на приложението.

Изтегляне на източник ZIP
CH-J / SM Mobile 134 Файлове
sm-mobile-20261016T050549Z-3678f2a05fa9 Добавено: · Построена:
Файлове
host_verifier.dart Добавено: Дата, която не е регистрирана 913 B · 32 линии
Изтегляне на файл
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 · Източникът е предоставен под CH-J Proprietary Software License 1.14. Неговата наличност не променя лицензионните условия или не предоставя допълнителни права.

Архив SHA-256c486a807e4828998b9c57ab0f2e760f7980b31965fe118e89d3e1a5a2b65be65