At my iOS/MacOS VPN apps (Packet Tunnel Provider), I'm creating the configuration at the containing app, setting all the needed fields, and specifically - the password reference points to the password at the keychain.
But what happens when I'm creating the VPN payload via Apple Configurator (or via some MDM) - I have the Password field, but at the extension I get the password reference - at which keychain I need to search it?
P.S - this is the main part I'm using to save the pass ref at my containing app:
But what happens when I'm creating the VPN payload via Apple Configurator (or via some MDM) - I have the Password field, but at the extension I get the password reference - at which keychain I need to search it?
P.S - this is the main part I'm using to save the pass ref at my containing app:
Code Block let attributes: [AnyHashable: Any] = [ kSecAttrService as AnyHashable : UUID().uuidString, kSecValueData as AnyHashable : passwordData, kSecAttrAccessible as AnyHashable : kSecAttrAccessibleAlways, kSecClass as AnyHashable : kSecClassGenericPassword, kSecReturnPersistentRef as AnyHashable : kCFBooleanTrue, kSecAttrSynchronizable as AnyHashable : kCFBooleanTrue ] var result: AnyObject? status = SecItemAdd(attributes as CFDictionary, &result)