react-native-keychain/RNKeychainManager
Igor Mandrigin 43e5512cab
Minimal security guarantees for react-native-keychain (#6)
* 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>
2018-12-19 09:11:10 +01:00
..
RNKeychainManager.h Use absolute references (#50) 2017-01-10 20:35:04 +01:00
RNKeychainManager.m Minimal security guarantees for react-native-keychain (#6) 2018-12-19 09:11:10 +01:00