Our app is for iOS only. Thank you for your reply @eskimo
Post
Replies
Boosts
Views
Activity
More explanation of my question,
Per App VPN is implemented, I got the Device enrolment URL from Mobile Device Management, after enrolment a profile is downloaded to my iPhone. I opened it via editor, it doesn't contain required keys in Payload like VPN-UUID, ProviderType etc.
what are the steps to get these keys in my Profile?
after this, how will I get app id in my packet tunnel provider?
implementing Testing Per App VPN. but packet.metadata?.sourceAppUniqueIdentifier is still nil.
I've another confusion that how can I set NETunnelProviderRoutingMethod from NETunnelProviderRoutingMethod.destinationIP to NETunnelProviderRoutingMethod.sourceApplication
attached is my manual created VPN Profile
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadUUID</key>
<string>C3179238-32FE-406E-A3E1-30700BF42977</string>
<key>PayloadType</key>
<string>com.apple.vpn.managed.applayer</string>
<key>PayloadIdentifier</key>
<string>com.apple.vpn.managed.applayer.C3179238-32FE-406E-A3E1-30700BF42977</string>
<key>VPNSubType</key>
<string>xx.xx.***.appBundleID</string>
<key>VPNType</key>
<string>VPN</string>
<key>UserDefinedName</key>
<string>VPN_CONFIG</string>
<key>PayloadDescription</key>
<string>Configure VPN settings</string>
<key>PayloadDisplayName</key>
<string>VPN</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>VPNUUID</key>
<string>3D7A07D8-97D0-4E5A-BB04-1EB82DD12A35</string>
<key>IPv4</key>
<dict>
<key>OverridePrimary</key>
<integer>0</integer>
</dict>
<key>Proxies</key>
<dict>
<key>HTTPEnable</key>
<integer>0</integer>
<key>HTTPSEnable</key>
<integer>0</integer>
</dict>
<key>VPN</key>
<dict>
<key>AuthName</key>
<string>xxxx</string>
<key>AuthPassword</key>
<string>yyyy</string>
<key>AuthenticationMethod</key>
<string>Password</string>
<key>ProviderBundleIdentifier</key>
<string>zzzz</string>
<key>RemoteAddress</key>
<string>abc.co.jp</string>
</dict>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>Name not set</string>
<key>PayloadIdentifier</key>
<string>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>88D93328-F0AE-4AC6-9AE5-FFA6A4B5BCBF</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
thanks, I have added apps into my info.plist under the NETestAppMapping which I want to trigger the per app vpn) but it is not working as expected. my manual profile is attached in my upper post.
Thanks for being so kind. under your guidance I adjusted my configuration profile but still my packet.metadata?.sourceAppUniqueIdentifier is nil . attaching my updated profile.
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>PayloadContent</key>
<array>
<dict>
<key>PayloadUUID</key>
<string>C3179238-32FE-406E-A3E1-30700BF42977</string>
<key>PayloadType</key>
<string>com.apple.vpn.managed.applayer</string>
<key>PayloadIdentifier</key>
<string>com.apple.vpn.managed.applayer.C3179238-32FE-406E-A3E1-30700BF42977</string>
<key>VPNSubType</key>
<string>bundle id of my source app</string>
<key>VPNType</key>
<string>VPN</string>
<key>UserDefinedName</key>
<string>VPN_CONFIG</string>
<key>PayloadDescription</key>
<string>Configure VPN settings</string>
<key>PayloadDisplayName</key>
<string>VPN</string>
<key>PayloadVersion</key>
<integer>1</integer>
<key>VPNUUID</key>
<string>3D7A07D8-97D0-4E5A-BB04-1EB82DD12A35</string>
<key>IPv4</key>
<dict>
<key>OverridePrimary</key>
<integer>0</integer>
</dict>
<key>Proxies</key>
<dict>
<key>HTTPEnable</key>
<integer>0</integer>
<key>HTTPSEnable</key>
<integer>0</integer>
</dict>
<key>VPN</key>
<dict>
<key>AuthName</key>
<string>xxxx</string>
<key>AuthPassword</key>
<string>yyyy</string>
<key>AuthenticationMethod</key>
<string>Password</string>
<key>ProviderBundleIdentifier</key>
<string>zzzz</string>
<key>RemoteAddress</key>
<string>abc.co.jp</string>
</dict>
</dict>
</array>
<key>PayloadDisplayName</key>
<string>Testing Name</string>
<key>PayloadIdentifier</key>
<string>xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx</string>
<key>PayloadRemovalDisallowed</key>
<false/>
<key>PayloadType</key>
<string>Configuration</string>
<key>PayloadUUID</key>
<string>88D93328-F0AE-4AC6-9AE5-FFA6A4B5BCBF</string>
<key>PayloadVersion</key>
<integer>1</integer>
</dict>
</plist>
@eskimo i am using Network Extension with capability of Content Filter. It is subclass from NEFilterDataProvider
@eskimo i am on iOS and as per the documentation i have double checked the following
Appgroups configuration, provisioning profile and entitlements
using suitename i.e. Appgroup name to read and write data
The problem i am facing exactly is it doesn't give me access the db to do the CRUD operation.
scenario # 2:
I tried Keychain and here again it got error -25291 and i was unable to write into it.
scenario #3 :
CFNotificationCenter: When i attempt to post a notification so that it could send me object in viewmodel class it didn't send notification.
scenario #4: When i add logs in UserDefaults it adds into it but when i read it outside the Extension class it returns nil.
so basically the issue i am facing is mainly because of read and write permission
that's the error i am encountering: