Search code examples
iossslvpntunnelnevpnmanager

Is it possible to use the SSL protocol with NEVPNManager (and without using NETunnelProvider APIs)


My client would like me to write a VPN client for IOS (IOS 9.2). The VPN client is supposed to use SSL to connect to an openVPN server. I will be using the NEVPNManager class provided by apple (The NEVPNManager class has a class method (sharedManager) that provides access to a single NEVPNManager instance. This is the class method I plan on using). I would like to set the protocol for this shared manager to SSL. Is this possible ? Or am I restricted to the NEVPNProtocolIPSec and NEVPNProtocolIKEv2 protocols ?
P.S :- I don't want to use the NETunnelProvider family of APIs. I understand that these are newer APIs that allows one to use their own custom protocols, but apparently using the NETunnelProvider family of protocols requires special entitlements from Apple (which could take up to a month to get), but client wants something sooner.


Solution

  • I contacted apple and got the following response :- "No. NEVPNManager is used to set up “Personal VPN”, which always uses built-in VPN transports (IPsec or IKEv2). There’s no built-in transport for SSL-based VPNs, so if you want to set that up you have to either write your own transport (which involves NETunnelProvider, which involves special entitlements) or use some other approach (like a configuration profile)."