Pol Henarejos
eef2f190f2
New format for applet selection.
...
AID comparison is performed by the kernel. If it is the same as previously loaded, do nothing. If not found, do nothing. If found and is different, unload old and load the new one.
All other applets shall be migrated to new format.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-10-11 21:02:04 +02:00
Pol Henarejos
c7849e0bda
Added support to Nitrokey's nitropy tool.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-05-16 09:22:52 +02:00
Pol Henarejos
46e7d3a181
Fix otp processing if other applications were processed before.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-03-31 00:41:12 +02:00
Pol Henarejos
630da663c4
Added support for APPEND_CR.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-03-30 00:51:49 +02:00
Pol Henarejos
ef0fb29f29
Added encoding support for keyboard hid.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-03-30 00:37:07 +02:00
Pol Henarejos
c11d403f12
Added support for OTP interface.
...
This interface enables a HID Keyboard interface to send keystrokes to host. Also, it enables bidirectional flow through set/get report with 8-bytes chunked frames of 70 bytes.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-03-28 23:32:43 +02:00
Pol Henarejos
3b268a33eb
Sending keepalive on cbor processing.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-03-03 00:50:13 +01:00
Pol Henarejos
96f2dab74b
Fix init_cmd channel.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-03-03 00:22:45 +01:00
Pol Henarejos
b96e853e6d
Added support for Fido emulation to automatize tests.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-03-02 22:05:04 +01:00
Pol Henarejos
fc40588547
Fixes for FIDO with Pico SDK 1.5
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-17 11:49:09 +01:00
Pol Henarejos
43ef33d60b
Switching to new style.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-15 00:10:00 +01:00
Pol Henarejos
12bdcbd1f9
Harmonizing coding style.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-14 23:23:57 +01:00
Pol Henarejos
5d2dd5aa75
Compilation fixes
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-13 18:48:40 +01:00
Pol Henarejos
4919eb980f
Added a major refactoring to include Emulated interface.
...
It works in combination with virtualsmarcard module (vpcd). It properly installed, it creates a virtual reader that can be interfaced via PCSC+vcpd. At user app level, it has no difference of having a physical smart card.
At this moment, it only works emulating a CCID interface.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-09 18:06:21 +01:00
Pol Henarejos
2d511df5d8
Fix alternating CCID and HID. (IT DOES NOT WORK)
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-08 23:56:48 +01:00
Pol Henarejos
411755dee4
Adding a secondary HID interface that emulates a keyboard.
...
With it, an app can send a password directly to the host, like it is typed by user.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-30 01:41:49 +01:00
Pol Henarejos
a8fe504d14
No more discrimination related with core0/core1. using get_core_num() returns the core number.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-24 01:38:09 +01:00
Pol Henarejos
b0bfc410a4
Thread on CORE1 is reset at every call.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-22 20:39:01 +01:00
Pol Henarejos
24522b9db8
Fix selecting FIDO AID when MSG.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-22 19:32:02 +01:00
Pol Henarejos
e5825df5cb
Added capability to add multiple interfaces: HID and CCID at compile time.
...
Depending on compiling flags, HID and/or CCID may be enabled independently and run simultaneously.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-20 23:41:24 +01:00
Pol Henarejos
4a8a6728c7
Adding support for specific vendor HID command (0x41).
...
It is a self implementation, based on CBOR command.
data[0] conveys the command and the contents mapped in CBOR encoding.
The map uses the authConfig template, where the fist item in the map is the subcommand (enable/disable at this moment), the second is a map of the parameters, the third and fourth are the pinUvParam and pinUvProtocol.
With this format only a single vendor HID command is necessary (0x41), which will be used for all my own commands, by using the command id in data[0] like with CBOR.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-29 19:41:00 +02:00
Pol Henarejos
8f14db677e
Fix strange bug when usb cannot write.
...
In this case, the buffer is kept until the next success call.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-29 23:11:49 +02:00
Pol Henarejos
d0fe447416
Fix PING with no data.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-29 16:59:30 +02:00
Pol Henarejos
2aff75a3ec
Fix keepalive msg.
...
Only sent when CBOR is initiatied.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-27 22:09:16 +02:00
Pol Henarejos
3912775ccb
Fix writting large packets.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-27 12:23:16 +02:00
Pol Henarejos
18fa1d7f37
Reseting previous command if new arrives.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-25 18:09:37 +02:00
Pol Henarejos
f8590ba8c7
Added CTAPHID_CANCEL support.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-23 18:07:27 +02:00
Pol Henarejos
4d7101b802
Fix send_keepalive with auxiliary buffer.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-22 23:53:55 +02:00
Pol Henarejos
988d4e23c2
Fix combining APDU MSG and keepalive.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-22 22:52:41 +02:00
Pol Henarejos
c23f17107a
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
e29521fcf6
Multiple bug fixes to pass HID tests.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-22 19:23:39 +02:00
Pol Henarejos
4ab68cc822
HID fixes.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-22 14:05:39 +02:00
Pol Henarejos
5a4aff7008
Adding KEEP_ALIVE response.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-20 15:31:34 +02:00
Pol Henarejos
8b97791d8f
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
847005d94f
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
4c49e59edc
Major CTAP refactoring.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-15 14:16:40 +02:00
Pol Henarejos
42f3c67c61
Adding Credentials structure.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-14 17:27:00 +02:00
Pol Henarejos
607f7c50d4
Adding some macros for CBOR parsing.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-14 00:08:05 +02:00
Pol Henarejos
2cb59d57d2
Adding first attempt of adding make_credential.
...
It requires lot of efforts to parse CBOR incoming data.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-13 20:37:15 +02:00
Pol Henarejos
d1530733a2
Lots of fixes with CBOR encoding cbor_get_info().
...
- Numeric fields shall be encoded with uint and NOT with simple, despite are < 24.
- maxCredentialCountInList and maxCredentialIdLength only accept uint values.
- up shall not be present (assumed True always).
- Also added cbor_reset(). It does nothing but ok.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-12 00:50:38 +02:00
Pol Henarejos
4a1bddb3d5
Adding cbor_get_info().
...
This is the first funciont that uses TinyCBOR to encode the cbor message.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-09 20:35:11 +02:00
Pol Henarejos
abd52c34ba
Added CBOR processing.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-08 20:37:21 +02:00
Pol Henarejos
7aeac46eef
Adding CTAP2 commands.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-08 17:49:56 +02:00
Pol Henarejos
867d4637ee
Moving from U2F to CTAP1.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-08 17:35:40 +02:00
Pol Henarejos
7491021102
Fix initializing variables.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-08 16:38:13 +02:00
Pol Henarejos
799733203b
Added SYNC command.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-08 13:24:03 +02:00
Pol Henarejos
0be497e713
Added LOCK command.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-08 13:12:17 +02:00
Pol Henarejos
e23dead31d
Add PING command.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-08 12:56:32 +02:00
Pol Henarejos
4d9faccedb
Added some sanity checks.
...
Also fix u2f_error report.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-08 12:13:34 +02:00
Pol Henarejos
c0123aa669
Adding blink in 1 second on WINK.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-09-06 16:09:02 +02:00