Can keychains in IOS be compared to DPAPI in Windows?
On iOS, I am looking for an API equivalent to the encrypt/decrpyt DPAPI functions available on Windows (with CRYPTPROTECT_LOCAL_MACHINE flag not set).
The objective is to persist some application data locally and making its access restricted to the application itself only.
I've read about the keychain functionality but it seems that the dictionary has user-level access (unlocked during smartphone logon). I would like the application to be the only one who has access to that information, like, typically, having its own keychain.
Any advice on this?
An app cannot access another app's keychain entries in iOS. In principle, it's as if each app has its own keychain.
In iOS, an application can always access its own keychain items, but not items created by any other application.
However, see this post for other keychain security concerns.