* Implement security level guarantees for Android.
Supported security levels:
- ANY
- SECURE_SOFTWARE
- SECURE_HARDWARE (TEE or SE guarantees).
(1) Add `getSecurityLevel()` API that returns which security level is
supported on this Android version and the specific device.
(2) For APIs that store credentials, an additional optional parameter was added
that fails storing the credentials if the security level is not what is
expected.
```
// Store the credentials.
// Will fail if Keychain can't guarantee at least SECURE_HARDWARE level of encryption key.
await Keychain.setGenericPassword(username, password, Keychain.SECURITY_LEVEL.SECURE_HARDWARE);
```
(3) StongBox support on Android 9+ (and supported devices [Pixel 3]).
Co-Authored-By: mandrigin <mandrigin@users.noreply.github.com>
* First draft of implementing secured storage support (TouchId or Passcode)
* minor improvements
* improving the implementation; Support for AppDelegate-notification
* minor changes and improvements
* provding requested constant as usability feature; added documentation to canImplyAuthentication
* updating .d.ts-file
* when fetching stored items using the traditional modality (not TouchId or Passcode protected) ignore any items that need authentication.
* [tvOS] Update podspec
* [tvOS] Add target
* [SecRequestSharedWebCredential] is only available on iOS and not tvOS
* [Security] Move into the same folder Framework
* [RNKeychainManager.m] Change indentation