Commit Graph

92 Commits

Author SHA1 Message Date
Pol Henarejos
cbfe66e89b Not necessary scan on every call.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 23:56:48 +02:00
Pol Henarejos
883c5fef35 Removing debugs.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 23:54:11 +02:00
Pol Henarejos
40110ad602 Fix generating dev cert.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 22:52:23 +02:00
Pol Henarejos
61b10b7971 Fix get sign counter.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 22:52:10 +02:00
Pol Henarejos
2d496fd8fc Random functions shall be called for each core, otherwise it will hung.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 20:18:05 +02:00
Pol Henarejos
cc373e3e7e Adding send_keepalive().
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:25:52 +02:00
Pol Henarejos
4360ab0375 Device key must not be persistent across resets.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:25:44 +02:00
Pol Henarejos
73c846e985 Credentials are reset on reset, as the device key also changes.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:25:26 +02:00
Pol Henarejos
d95bc1aba6 Reset shall call for user presence and can only be called within the 10 seconds from boot.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:25:04 +02:00
Pol Henarejos
2d5fffedb9 Fix resetting pin mismatches.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:24:28 +02:00
Pol Henarejos
f045ec8d03 card_init_core1() shall be called from every thread launched on core1.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:24:07 +02:00
Pol Henarejos
e0d8ce7637 Fix encoding credential.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 10:24:38 +02:00
Pol Henarejos
86e3c960a4 Fix when no pin is provided.
6.1.3.7.1 is too ambiguous on uv == false. We also accept that is not provided.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 10:00:06 +02:00
Pol Henarejos
864965c1fe Fix verying when no paut is in use.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 09:59:17 +02:00
Pol Henarejos
3b25eb295c Fix get assertion.
Credentials must be sorted in descending order.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 09:30:13 +02:00
Pol Henarejos
226fcc5405 Fixing next get assertion.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 23:44:47 +02:00
Pol Henarejos
5625e0dacd Adding preliminary support for get next assertion.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 20:02:19 +02:00
Pol Henarejos
cf206bf158 Credentials CANNOT be regenerated, as they depend on random IV.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 19:53:36 +02:00
Pol Henarejos
a44227db52 Fix encoding extensions.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 19:53:11 +02:00
Pol Henarejos
4ab898378a More fixes
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 16:30:49 +02:00
Pol Henarejos
99fc76a385 Finalizing get assertion.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 14:29:28 +02:00
Pol Henarejos
f71624f489 More steps.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 00:00:51 +02:00
Pol Henarejos
08c3c3344c Moving up and uv flags to paut.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 00:00:25 +02:00
Pol Henarejos
804970e77a Using extensions and fixing up and uv flags.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-21 00:00:10 +02:00
Pol Henarejos
c938d47bf7 Adding extensions struct.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-20 23:59:52 +02:00
Pol Henarejos
22a2ea109e Adding unfinished get_assertion.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-20 20:04:54 +02:00
Pol Henarejos
3a3ec97c90 Fix saving creds.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-20 19:56:20 +02:00
Pol Henarejos
8a379d9702 Adding Credential manager.
Also adding resident credentials.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-20 19:50:33 +02:00
Pol Henarejos
72ebb2b596 Adding Credential management.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-20 17:31:09 +02:00
Pol Henarejos
3dc7af05c1 More fixes. 2022-09-20 15:07:48 +02:00
Pol Henarejos
a3c60f762d Reorganizing core0/core1 split.
Now CBOR and APDU (i.e., intensive processing) areas are executed on core1, while core0 is dedicated for hardware tasks (usb, button, led, etc.).
2022-09-20 14:39:59 +02:00
Pol Henarejos
8feac76a73 If user has introduced PIN, it is verified.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-20 11:50:45 +02:00
Pol Henarejos
f439b85de7 clientPIN passes the first test.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-20 11:38:59 +02:00
Pol Henarejos
ee8f3a0965 Adding support for clientPIN.
It does not pass the tests yet.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-19 17:20:52 +02:00
Pol Henarejos
199091e2b9 Adding file debug.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-19 17:20:10 +02:00
Pol Henarejos
24f48e33bb Reset nows flushes the memory storage.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-19 17:20:00 +02:00
Pol Henarejos
479aae2ef9 Adding support for CTAP_2_0 and minPINlength.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-19 17:19:45 +02:00
Pol Henarejos
fd7da11931 More fixes. Finally it passes all tests.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 17:13:26 +02:00
Pol Henarejos
a80247ffa2 Check required parameters in excludeList.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 16:27:56 +02:00
Pol Henarejos
c9c10eca36 Fix excludeList parsing.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 16:23:27 +02:00
Pol Henarejos
11642fe0a3 Fixes with missing parameters.
Up should not be present.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 15:59:20 +02:00
Pol Henarejos
a9cb5ee87c More fixes.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 12:06:54 +02:00
Pol Henarejos
2c6b14822e Fixed many bugs. It works.
This is the first commit that passes *some* tests.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 11:19:54 +02:00
Pol Henarejos
1b70c21588 Added macro for windows compilation.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 11:19:20 +02:00
Pol Henarejos
aa15ad471b Fix order of items.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 11:19:08 +02:00
Pol Henarejos
20038b1586 Lots of efforts for make_Credential.
It DOES NOT pass tests yet.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 00:50:19 +02:00
Pol Henarejos
5da2af2c34 Accepting curves for key_derivation as a parameter.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 00:49:59 +02:00
Pol Henarejos
9b49d39ccc Scan files at the beginning.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 00:49:25 +02:00
Pol Henarejos
84a91fcbda Adding known apps.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 00:48:58 +02:00
Pol Henarejos
3873303309 Refactor CTAP2 file structure.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-15 14:16:12 +02:00