-
Notifications
You must be signed in to change notification settings - Fork 166
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
feat: Biometric auth #416
feat: Biometric auth #416
Conversation
* enable/disable biometric auth as an alternative to pin (when enabled: encrypt pin, decrypt with biometric auth, sign/etc without pin entry) * fall back to pin entry if biometry fails * display biometric error messages to user so they know if a key has been permanently invalidated, requiring manual re-enabling (could be improved by re-enabling or disabling biometry immediately depending on subsequent pin entry) * sign transactions in rust without returning decrypted seed to js
It looks like @sjeohp signed our Contributor License Agreement. 👍 Many thanks, Parity Technologies CLA Bot |
The objective here is to allow longer alpha-numeric pins to be practical.
Additionally: sign transactions while minimizing time the decrypted seed spends in memory, IE. decrypt and sign in rust without returning it to js. |
@@ -1661,7 +1634,7 @@ | |||
PRODUCT_BUNDLE_IDENTIFIER = io.parity.NativeSigner; | |||
PRODUCT_NAME = NativeSigner; | |||
SWIFT_OBJC_BRIDGING_HEADER = "NativeSigner/NativeSigner-Bridging-Header.h"; | |||
SWIFT_VERSION = 5.0; | |||
SWIFT_VERSION = 4.2; |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Why downgrade swift version here?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I was testing with an old Xcode that didn't support 5. This change isn't important, I actually forgot about it.
Many thanks for the PR! From what I see the biometric auth workflow is: react native js code--> native code --> rust code, is that correct? By the way I have not find the code for biometric auth part in native code, am I too early to review it now? Otherwise could you please point them out ? For the native secure functions: it would be nice if you could make some test code in rust part or on Native part (on #353 I am also working on test cases). Both for the future development and the current reviewing and testing process. |
https://github.com/sjeohp/secure-native
👍 |
I have the sample integration test for testing native modules, which is on |
I don't believe it will work in this case since the methods will fail without biometric input.. |
Ah, it is possible on iOS, first you start with await device.setBiometricEnrollment(true) and then use |
Yep, done
That breaks jest and still doesn't let me run the detox test. Working e2e tests for the native modules might have to be a separate PR. |
Initialize pinKey before using it in case of null
No description provided.