Невозможно добавить общий секрет для VPN (NEVPNProtocolIPSec) swift - PullRequest
0 голосов
/ 18 марта 2019

Я разрабатываю приложение VPN для iOS и macOS, когда пытаюсь подключить отображаемое сообщение No VPN shared secret was provided. Verify your settings and try reconnecting. для хранения пароля и общего ключа я использую keychainAccess [https://github.com/kishikawakatsumi/KeychainAccess#requirements]., что может быть причиной нижеприведенного блочного кода, который я использую для сохранения настроек.

        let p = NEVPNProtocolIPSec()

          p.username = "vpn"
        let ip = self.getIFAddresses()
        print(ip)
        p.serverAddress =  "167.179.69.252"
            p.remoteIdentifier = "167.179.69.252"
            p.localIdentifier = "192.168.xx.xx"



            p.authenticationMethod = .sharedSecret

                    do {
                        try self.kcs.set("vpn", key: "sharedPsw")
                        try self.kcs.set("vpn", key: "password")

                        }
                        catch let error {
                            print(error)
                        }

            p.sharedSecretReference =  self.kcs[attributes: "sharedPsw"]?.persistentRef
            p.passwordReference =  self.kcs[attributes: "password"]?.persistentRef

        p.useExtendedAuthentication = false
        p.disconnectOnSleep = false
        self.vpnManager.protocolConfiguration = p
        self.vpnManager.localizedDescription = "secure_VPN"
        self.vpnManager.isEnabled = true
        self.vpnManager.isOnDemandEnabled = true

            self.vpnManager.saveToPreferences { error in
                guard error == nil else {
                    print("NEVPNManager.saveToPreferencesWithCompletionHandler failed: \(error!.localizedDescription)")
                    return
                }
            }
        }

Есть предложения?

Заранее спасибо !!

...