Commit graph

186 commits

Author SHA1 Message Date
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
c6d08ae139
Fix conditional build for WS2812.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-26 20:15:38 +02:00
Pol Henarejos
b12e66a057
Added support for AES 512 bit keys (for XTS).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-19 20:00:59 +01:00
Pol Henarejos
ec9eb7c436
Fix race condition.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-14 09:57:50 +01:00
Pol Henarejos
be03298832
Fix potential crash on delete file.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-09 18:16:18 +01:00
Pol Henarejos
599e5edbd1
Fix conditional interface compilation.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-04 14:16:45 +01:00
Pol Henarejos
15569ab419
Update code style.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-04 14:10:46 +01: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
86613453ae
Sending timeout command.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-03 00:48:42 +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
8f8134efbc
Fix preparing rdata pointer with emulated HID.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-03 00:05:05 +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
455bc17a74
Added support for Waveshare RP2040 zero.
It uses the WS2812 led for blinking like normal Pico or Tiny2040.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-01 23:32:42 +01:00
Pol Henarejos
16b4fa6ca3
Emulation is now a higher define which also accepts interfaces.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-23 07:57:35 +01:00
Pol Henarejos
e5e5af634c
Fix endianness of CCID.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-20 16:17:16 +01:00
Pol Henarejos
2471b3308b
Adding support for CCID GET, SET and RESET PARAMS.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-20 13:16:46 +01:00
Pol Henarejos
e44fde509b
Added support for Interrupt endpoint.
It is only used to inform the host changes on card status (insert or removal). Actually it only notifies the insertion of the virtual card on connect.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-17 19:43:26 +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
e47c5412cf
Fixes for Pico SDK 1.5
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-16 22:54:30 +01:00
Pol Henarejos
31f899416c
Using new style.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-15 00:14:10 +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
31e66007d3
Fix embeding res_APDU.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-03 17:24:45 +01:00
Pol Henarejos
dcb18a3476
Fix when requesting more data.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-02 22:28:42 +01:00
Pol Henarejos
07c15e0a3c
Lets try
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-30 15:39:22 +01:00
Pol Henarejos
8f68e9f8a3
Some tricks
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-30 13:30:11 +01:00
Pol Henarejos
a9eee861fe
Adding support for chained apdu in emulation mode.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-17 00:06:17 +01:00
Pol Henarejos
00f9e9c408
Fix packed term.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-14 00:40:50 +01:00
Pol Henarejos
b4c1375961
Fix readin cached pages.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-14 00:40:39 +01:00
Pol Henarejos
4b420a7e8e
Fix important crash.
When a file was cleared, file->data was not nulled and it was retained in subsequent calls, which derived onto a flash memory corruption.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-14 00:40:22 +01:00
Pol Henarejos
f59b7d92ef
Delete meta file if becomes zero.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-14 00:39:06 +01:00
Pol Henarejos
7293683906
Using correct packed form.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-13 18:53:56 +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
9bdde87b63
Fix reading memory when they are mapped.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-13 18:07:33 +01:00
Pol Henarejos
007782cd2b
Moving debug data.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-12 20:03:51 +01:00
Pol Henarejos
4d06c0fc3d
Fix accessing to mapped memory.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-12 20:03:21 +01:00
Pol Henarejos
4c5ce3d257
Adding MAX macro.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-12 20:02:39 +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
20bd2c8b41
Fix writting read buffer for itf > 0.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-30 01:40:22 +01:00
Pol Henarejos
70979da57a
Remove debug line.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-28 17:05:19 +01:00
Pol Henarejos
9e92b9d4ed
asn1_find_tag() may accept NULL tag_data and tag_len.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-26 21:37:42 +01:00
Pol Henarejos
026ce37c11
Fix returned type.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-24 01:40:53 +01:00
Pol Henarejos
36b2924036
If file functions are called with NULL arg silently return.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-24 01:39:26 +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
c0a540ae2b
Fix processing APDU when no app is selected.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-24 01:37:04 +01:00
Pol Henarejos
7deaa990d3
An app can be selected even if there is another selected previously.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-24 00:49:25 +01:00
Pol Henarejos
88b2978ae5
Fix ATR response.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-22 22:50:37 +01:00