NEVPNManager on OSX 10.11 - how to set up an IKEV2 VPN connection

I want to create (Xcode 8.2, OSX 10.11) IKEV2 VPN connection with NEVPNManager.

//  setup protocol
NEVPNProtocolIKEv2 *p = [[NEVPNProtocolIKEv2 alloc] init];
p.serverAddress = vpnServer.address;
p.remoteIdentifier = vpnServer.address;
p.useExtendedAuthentication = NO;
p.disconnectOnSleep = NO;

p.authenticationMethod = NEVPNIKEAuthenticationMethodSharedSecret;
p.sharedSecretReference = [SHARED_SECRET_REF];

NEVPNManager *manager = [NEVPNManager sharedManager];
[manager loadFromPreferencesWithCompletionHandler:^(NSError *error) {
    if(error) {
        // post error notification
    } else {
        manager.enabled = YES;
        [manager setProtocolConfiguration:p];
        [manager saveToPreferencesWithCompletionHandler:^(NSError *error) {
            if(error) {
                // post error notification
            }
            else {
                NEVPNManager *manager = [NEVPNManager sharedManager];
                NSError *startError;
                [manager.connection startVPNTunnelAndReturnError:&startError];

                // Error Handling
            }
        }];
    }
}];

      

Strange observations:

  • [NEVPNManager sharedManager] grabs other configuration of the Mac application, if any;
  • There is no POPUP authentication with mac throughout the entire connection;
  • The same lines of code work great on iOS.

Anything I did wrong in the code?

+3


source to share





All Articles