Commit Graph

28 Commits

Author SHA1 Message Date
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
Joel Arvidsson add90c5769 Remove *PasswordWithAuthentication and replace with accessControl option 2018-02-26 12:31:06 +01:00
Joel Arvidsson 37ea15ae5e Add APPLICATION_PASSWORD to accessControl options 2018-02-26 11:15:14 +01:00
Joel Arvidsson 618acc7789 Rename TOUCH_ID_* enums to BIOMETRY_* 2018-02-26 00:14:48 +01:00
Joel Arvidsson abed674800 Refactor iOS code and add accessGroup to *PasswordWithAuthentication 2018-02-25 23:53:42 +01:00
Joel Arvidsson bb2adaedad Add human friendly error for errSecMissingEntitlement 2018-02-25 23:42:53 +01:00
Joel Arvidsson 9c734ac9f9 Rename customPrompt to authenticationPrompt 2018-02-25 23:42:15 +01:00
Joel Arvidsson 9455bac5e9 Fix tvOS support 2018-02-25 20:21:01 +01:00
Joel Arvidsson d6544520f2 Rename *SecurePassword to *PasswordWithAuthentication and unify arguments 2018-02-25 19:20:49 +01:00
Joel Arvidsson ecaa3f0041 Fix resetGenericPassword to also clear those with authentication 2018-02-25 19:16:07 +01:00
Joel Arvidsson b9fad8768e Fix formatting of iOS code 2018-02-25 17:21:12 +01:00
Joel Arvidsson b227c59406 Don't throw in canImplyAuthentication 2018-02-25 17:07:18 +01:00
Joel Arvidsson aac2d3d8c4 Add getSupportedBiometryType 2018-02-25 17:05:33 +01:00
Steff 172368f2fd Protect the data stored in keychain by TouchId or Passcode (#65)
* 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.
2018-02-25 15:55:17 +01:00
Julien K 712679ff89 Add react-native-keychain on tvOS (#78)
* [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
2017-08-24 23:21:36 +02:00
Joel Arvidsson 45799d5aa1 Add support for accessGroup option on iOS #4 #54 2017-02-10 11:26:38 +01:00
Joel Arvidsson 6eb0a35037 Refactor accessible argument into options 2017-02-10 10:58:39 +01:00
Alexander Jarvis 1c4562a421 Add accessible argument for iOS (#51)
* Fix accessible

* Make accessible configurable

* Fix semicolon

* Remove unused function
2017-02-10 09:34:58 +01:00
Joel Arvidsson eb9093aed7 Refactors native methods to use promises and deprecate callback argument 2017-01-10 23:00:51 +01:00
Joel Arvidsson e6cc3aa9f4 Add shared web credentials support (#40) 2017-01-10 22:25:04 +01:00
Andrey 7280e924ef Use absolute references (#50)
Adopts this e1577df1fd
2017-01-10 20:35:04 +01:00
Joel Arvidsson 75446cb734 Added generic password support. 2015-05-29 18:25:56 +02:00
Joel Arvidsson 24045a74dd Dont throw red screen when no matches were found. 2015-05-29 18:03:19 +02:00
Joel Arvidsson f3e856d368 More descriptive error messages. 2015-05-29 18:02:15 +02:00
Joel Arvidsson b27fc72c8d Fixed bug where getting non existing passwords would throw on ARM processors. #1 2015-05-28 19:10:41 +02:00
Joel Arvidsson 30217ff1b5 Fixed lack of conversion of NSErrors. 2015-05-28 19:08:18 +02:00
Joel Arvidsson fe4642c3e0 Added first implementation. 2015-05-20 20:39:52 +02:00
Joel Arvidsson d5ecf4bdaa Added project structure. 2015-05-20 18:23:04 +02:00