CH-J Tools MobileSSH के ज़रिए सर्वर प्रबंधन
मेनू
प्रकाशित सोर्स

CH-J Tools Mobile

किसी विशेष ऐप्लिकेशन रिलीज़ की डायरेक्टरी और फ़ाइलें देखें।

सोर्स ZIP डाउनलोड करें
CH-J / CH-J Tools Mobile 175 फ़ाइलें
sm-mobile-20261016T185235Z-8e93ecc1b59a जोड़ा गया: · बिल्ड किया गया:
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-25646e427a43e87af091004f36145590bda8fe90086dfb0f631afeb5029fb0b5655
फ़ाइलें