3 ms·
Funny enough I recently implemented touchID for my company (Mustbin). The local authentication framework APIs only provide a place to store data. In our case
by harshaw 12y ago
Funny enough I recently implemented touchID for my company (Mustbin).
The local authentication framework APIs only provide a place to store data. In our case we use touchID as a secure keystore for client side decryption / encryption keys, certificates, etc. If you don't have a touchID device we fall back to storing keys encrypted via passcode and also protected by the device hardware encryption (the data protection API). If someone where to hack the app to bypass the touchID window you couldn't get at the data since it is encrypted at rest.
A wierd oddity of the local authentication framework is that if the user deletes the application the keychain isn't deleted, so if you naively delete and reinstall the app you get back old keydata :(
- shawn-butler 12y agoNSUserDefaults are cleared however when app is uninstalled. Can add an "UninstalledOrFirstRun" NSUserDefault. Based on whether it exists at launch, you can clear out previous keychain entries.
- harshaw 12y agoright, I ended up implementing something like that. However, it is counterintuitive to the IOS model of app sandboxing.