react-native-keychain/android
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
..
gradle/wrapper Added Android support w/ Facebook Conceal (#19) 2016-06-01 00:25:51 +02:00
src/main Minimal security guarantees for react-native-keychain (#6) 2018-12-19 09:11:10 +01:00
build.gradle Minimal security guarantees for react-native-keychain (#6) 2018-12-19 09:11:10 +01:00
gradlew Added Android support w/ Facebook Conceal (#19) 2016-06-01 00:25:51 +02:00
gradlew.bat Added Android support w/ Facebook Conceal (#19) 2016-06-01 00:25:51 +02:00