diff --git a/Tun/Super/SDLSuperTLSVerifier.swift b/Tun/Super/SDLSuperTLSVerifier.swift index bc77e1d..ff9542d 100644 --- a/Tun/Super/SDLSuperTLSVerifier.swift +++ b/Tun/Super/SDLSuperTLSVerifier.swift @@ -12,10 +12,10 @@ enum SDLSuperTLSVerifier { // 你的 Base64 公钥指纹 static let pinnedPublicKeyHashes = [ // 正式服务器的 - "Q41r6hbMWEVyxo6heNAH4Wx/TH5NNOWlNif9bewcJ3E=", + "Q41r6hbMWEVyxo6heNAH4Wx/TH5NNOWlNif9bewcJ3E=".lowercased(), // 测试服务器 - "oeU0bWqLWMdn79s4ZHz6IRwXmFX4p70u/Qt9VrsDIb4=" + "oeU0bWqLWMdn79s4ZHz6IRwXmFX4p70u/Qt9VrsDIb4=".lowercased() ] static func verify(trust: sec_trust_t, host: String) -> Bool { @@ -53,13 +53,13 @@ enum SDLSuperTLSVerifier { // --- Step 5: SHA256 校验 --- let hash = SHA256.hash(data: publicKeyData) - let hashBase64 = Data(hash).base64EncodedString() + let hashBase64 = Data(hash).base64EncodedString().lowercased() if pinnedPublicKeyHashes.contains(hashBase64) { SDLLogger.log("✅ 公钥校验通过", for: .debug) return true } else { - SDLLogger.log("⚠️ 公钥不匹配! 收到: \(hashBase64)", for: .debug) + SDLLogger.log("⚠️ 公钥不匹配! 收到: \(hashBase64), config hashes: \(pinnedPublicKeyHashes)", for: .debug) return false } } diff --git a/punchnet/Core/VPNManager.swift b/punchnet/Core/VPNManager.swift index d3c6f8d..2e6302c 100644 --- a/punchnet/Core/VPNManager.swift +++ b/punchnet/Core/VPNManager.swift @@ -128,13 +128,11 @@ class VPNManager { let env = SystemConfig.getCurrentEnvConfig() for manager in managers { -// guard let protocolConfiguration = manager.protocolConfiguration as? NETunnelProviderProtocol, -// protocolConfiguration.providerBundleIdentifier == env.tunBundleId else { -// try await manager.removeFromPreferences() -// continue -// } - // TODO Debug - try await manager.removeFromPreferences() + guard let protocolConfiguration = manager.protocolConfiguration as? NETunnelProviderProtocol, + protocolConfiguration.providerBundleIdentifier == env.tunBundleId else { + try await manager.removeFromPreferences() + continue + } } let managersAfterCleanup = try await NETunnelProviderManager.loadAllFromPreferences()