Commit Graph

218 Commits

Author SHA1 Message Date
merlokk
315b6564ab u2f works with extended apdu and now user presence not needs if request come from nfc and power from usb 2019-07-04 23:12:31 +03:00
merlokk
f2ebaf6abe invalid cla and r-block works 2019-07-04 19:14:26 +03:00
merlokk
4845d2c172 fix 14443 apdu decode and select 2019-07-04 17:52:00 +03:00
merlokk
26bc8a2889 apdu decoding works 2019-07-04 17:27:03 +03:00
merlokk
a51c9192b1 add apdu_decode 2019-07-04 16:27:33 +03:00
Conor Patrick
bddd60c080 use persisted key info 2019-05-27 13:54:29 -04:00
Conor Patrick
31328fe7e7 dont fail when public key type is too large 2019-05-18 14:34:54 -04:00
Conor Patrick
e1474e8e8e fix potential memory leaks 2019-05-13 15:32:04 -04:00
Conor Patrick
0f50ae7d63 change u2f to return early if button not immediately pressed 2019-05-10 15:56:52 -04:00
Conor Patrick
e105afd647 fix build 2019-05-09 17:51:41 -04:00
Conor Patrick
9fb02d4da3 add UP wait HID messages to U2F for windows 2019-05-09 17:46:01 -04:00
Conor Patrick
e402d36bf1 fix user presence skipping for nfc 2019-05-09 17:26:28 -04:00
Conor Patrick
84740f3d6a changes to make firmware interop on all hw models 2019-05-09 16:01:07 -04:00
Conor Patrick
60e3d01e0d refactor 2019-05-09 02:44:04 -04:00
Conor Patrick
6ae1cd3865 remove not-useful logs 2019-04-24 18:36:36 -04:00
Conor Patrick
ec98af115f restore button in ctap_make_auth_data 2019-04-24 16:54:26 -04:00
Conor Patrick
437f691d12 Update solo.c 2019-04-24 16:41:22 -04:00
Conor Patrick
813eb97d2f reuse memory for allow_list of creds 2019-04-24 11:45:30 -04:00
Conor Patrick
b0baace2e7 move custom credid to different location 2019-04-24 00:15:32 -04:00
Conor Patrick
1fab0b8f1f add wallet api in as compile option 2019-04-23 21:57:50 -04:00
Conor Patrick
ce96fffddd add info to authData for ext reqs 2019-04-23 21:57:27 -04:00
Conor Patrick
8fc0da7934 move args to device_init 2019-04-23 21:12:40 -04:00
Conor Patrick
494e856198 Merge pull request #131 from rgerganov/hidg
Add support for hidg devices on Linux
2019-04-23 20:22:33 -04:00
Conor Patrick
eab8b81c95 include nfc in user presence test 2019-04-23 14:05:18 -04:00
Adam Langley
73f538dd0e Fix COSE type of key-agreement keys.
The key-agreement keys in the PIN protocol use COSE type -25. I'm not
sure if that's written down anywhere, but it's what everything else does
and it's an ECDH type rather than an ECDSA type.
2019-04-20 16:45:04 -07:00
Adam Langley
a5f794c0ff Handle empty pinAuth fields.
CTAP2 specifies that an empty pinAuth field is special: it indicates
that the device should block for touch, i.e. it's just a way of letting
a user select from multiple authenticators[1].

This change handles empty pinAuth fields in GetAssertion and
MakeCredential commands.

[1] https://fidoalliance.org/specs/fido-v2.0-ps-20190130/fido-client-to-authenticator-protocol-v2.0-ps-20190130.html#using-pinToken-in-authenticatorMakeCredential
2019-04-20 16:26:32 -07:00
Radoslav Gerganov
955d4f76ef Add support for hidg devices on Linux
There is a HID gadget driver on Linux which provides emulation of USB
HID devices. This could be very useful for testing the Solo firmware
without actual hardware, using only a Linux box.

This patch adds a command line argument which specifies whether the
existing UDP backing should be used or the new one which reads and
writes to /dev/hidg0.

Testing done:
 1. Created HID device with configfs
 2. Started "./main -b hidg" as root
 3. Successfully executed Webauthn registration and authentication on
 the same Linux machine

Closes: #122
2019-04-16 10:54:46 +03:00
Conor Patrick
9bb706987f solo ext bugfix 2019-04-13 22:42:05 -04:00
Conor Patrick
44fa3bbb8e Add checks to use U2F key if necessary 2019-04-13 22:37:31 -04:00
Conor Patrick
7068be9cd5 reorder options 2019-04-10 13:13:38 -04:00
Conor Patrick
5fc8d214fd remove add_user param 2019-04-10 12:47:23 -04:00
Conor Patrick
5f49f4680e re-order items in get_assertion response 2019-04-10 12:22:35 -04:00
Conor Patrick
4cc72bcd97 rearrange cbor encoding order in make_credential and get_info 2019-04-10 12:11:31 -04:00
Conor Patrick
89769ecc18 fix u2f counter for real 2019-03-31 23:29:00 -04:00
Conor Patrick
893d4131b2 change how pin is enforced for GA 2019-03-26 19:00:12 -04:00
Conor Patrick
a1a75e4ab5 check errors 2019-03-21 12:47:15 -04:00
Conor Patrick
d68011ef04 remove warnings 2019-03-21 00:01:37 -04:00
Conor Patrick
02e83073e0 add hmac-secret to reg response 2019-03-20 23:58:42 -04:00
Conor Patrick
3a48756f96 remove extra layer of map 2019-03-20 23:40:58 -04:00
Conor Patrick
946e932b1e refactor to use less ram 2019-03-20 23:28:45 -04:00
Conor Patrick
142d4002e5 remove warning, reduce memory 2019-03-20 23:14:17 -04:00
Conor Patrick
2d233f164e small bug fixes 2019-03-20 21:03:03 -04:00
Conor Patrick
b62e9906c7 make new function 2019-03-20 20:13:16 -04:00
Conor Patrick
074225d87a hmac-secret fully functional 2019-03-20 20:03:12 -04:00
Conor Patrick
bb9b2ea9d4 validate saltAuth 2019-03-20 18:10:52 -04:00
Conor Patrick
e8d5bc5829 refactor ctap_make_auth_data arguments 2019-03-20 17:43:50 -04:00
Conor Patrick
ce3ad0e56f bugfix 2019-03-20 16:51:58 -04:00
Conor Patrick
00d86379e5 parse full hmac-secret 2019-03-20 16:21:21 -04:00
Conor Patrick
821880a8d6 parse extension info in MC 2019-03-20 15:45:10 -04:00
Conor Patrick
5cb81c753d Add version/extensions to PC build 2019-03-06 14:05:44 -05:00