Commit Graph

151 Commits

Author SHA1 Message Date
Igor Mandrigin 33eb25baf3 bring back `setUsername` that was removed by mistake 2019-01-15 13:38:35 +01:00
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
Pedro Pombeiro ea1bfe6b80
Pass more context to external project for cross-compiling (#5) 2018-10-25 20:35:53 +02:00
Max Risuhin 61fb404b9b
Use status fork of qtkeychain 2018-07-03 20:10:32 +03:00
Max Risuhin 878d5491d2
Capability to store username for further usage 2018-06-30 12:21:52 +03:00
Max Risuhin 6b6dc512d2
Resolve utf8 data transfer issue from cpp to cljs 2018-06-29 01:44:50 +03:00
Max Risuhin db022e73c7
Disable translations building 2018-06-26 01:22:31 -07:00
Max Risuhin 8e7228718f
Support linux compilation 2018-06-25 00:59:21 -07:00
Volodymyr Kozieiev 6536405d1c
Added basic support of desktop platform 2018-06-22 18:28:24 +03:00
Jean-Philippe Monette 5a6e5b6ba8 Update typings for new constants (#122)
Add:
- SecAccessControl
- SecAccessible
- LAPolicy
- `accessible` for Options
2018-05-31 22:03:46 +02:00
Joel Arvidsson 937840ae68 Update package in Example project. Fixes #130 2018-05-31 22:00:14 +02:00
Timothy Mwirabua f657bf8bc9 Clear form to demonstrate loading easily (#118) 2018-03-29 13:26:00 +02:00
Vojtech Novak ee959ba42e
improve consistency and docs (#114)
* Update KeychainModule.java

* Update README.md
2018-03-13 16:24:58 +01:00
Johannes Filter 43b1f870f0 add missing `await` in readme (#113) 2018-03-08 00:21:39 +01:00
Joel Arvidsson 3c54d65441
3.0.0 Release Candidate 3 2018-02-28 14:15:10 +01:00
shofman 61b6626f34 Update DeviceAvailability to work with Android < 6 (#109)
Validate that the build version supports FingerprintManager before using it. Return false when not supported
2018-02-28 14:14:36 +01:00
Joel Arvidsson 009f7566a8 3.0.0 Release Candidate 2 2018-02-27 16:25:31 +01:00
Joel Arvidsson c3990b0c09 Add Android support for getSupportedBiometryType 2018-02-27 16:20:37 +01:00
Joel Arvidsson 3247375911 3.0.0 Release Candidate 1 2018-02-27 14:00:10 +01:00
Joel Arvidsson ad8061e83d Update documentation in README 2018-02-27 13:58:37 +01:00
Joel Arvidsson c2cc3285b7 Resolve with false instead of throwing for platforms that can't imply authentication 2018-02-27 11:51:13 +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 f113f32e05 Document options in README 2018-02-26 00:38:31 +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
Vojtech Novak 7efae775e1
Update README.md 2018-02-25 22:18:26 +01:00
Joel Arvidsson f596fa68bd Upgrade example to RN 0.53 and add tvOS target 2018-02-25 20:21:47 +01:00
Joel Arvidsson 9455bac5e9 Fix tvOS support 2018-02-25 20:21:01 +01:00
Joel Arvidsson 8a30ba0341 Update example app with biometric features 2018-02-25 19:24:35 +01:00
Joel Arvidsson 0b1b1d3395 Return null instead of throwing for getSupportedBiometryType on android 2018-02-25 19:23:36 +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 d6a00596c4 Export enum options 2018-02-25 17:48:43 +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
Joel Arvidsson 1497383434 Throw on methods not yet supported on android 2018-02-25 16:29:33 +01:00
Joel Arvidsson 126c69266e Fix android related bugs in example app 2018-02-25 16:16:22 +01:00
Joel Arvidsson a751670b92 Format with prettier and add .prettierrc 2018-02-25 16:14:17 +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
Joel Arvidsson 55681fa8e8
Add logo to README 2018-02-25 15:12:36 +01:00
Joel Arvidsson 06e0ea8678 Release 2.0.0 2018-01-08 22:23:24 +01:00
Joel Arvidsson 0619004744
Add travis config and release to npm automatically (#97) 2018-01-08 20:25:20 +01:00
Joel Arvidsson c84f9517ca Bump RN version in KeychainExample 2018-01-08 20:15:36 +01:00
Kevin Barrett 0c9d6d6ab8 Update README to include proguard note (#88)
Add note on proguard exception rule to fix conceal error.
2017-11-19 13:54:38 +01:00
Vojtech Novak 610ad80134 do not specify RN version in gradle
previously this would cause gradle to fetch old rn version even though it wasn't needed
2017-09-06 15:34:50 +02: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