Commit Graph

171 Commits

Author SHA1 Message Date
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
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
3310b911fc APDU header is defined at apdu_processing, depending on the interface.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-22 20:38:34 +01:00
Pol Henarejos
4682e5821f Selecting an app by AID requires the AID as argument.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-22 19:33:02 +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
cd3ab0682c Fix initiating driver for CCID and buffers.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-22 19:31:39 +01:00
Pol Henarejos
e99757ed52 Fix with size of descriptor in single interface mode.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-20 23:51:14 +01:00
Pol Henarejos
6faebdf309 TUD options are declared on compile time depending on enabled interfaces.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-12-20 23:50:51 +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
0bc13df1a2 Queues are emptied at begining of card thread.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-28 18:54:01 +01:00
Pol Henarejos
a3f060a79d Setting own VID/PID (despite they are useless).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-28 17:36:40 +01:00
Pol Henarejos
c4178fda4b Fix when multiple shutdowns are sent
Thread queues are empty on every start to avoid ancient messages from previous sessions.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-24 20:21:06 +01:00
Pol Henarejos
fccee34a1e In asn1_find_tag(), tag_data and tag_len are not modified if not found.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-11 14:30:34 +01:00
Pol Henarejos
28170100cc Adding support for Curve25519 and Curve448.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-11-09 16:49:45 +01:00
Pol Henarejos
74210d7af0 Fix chaining more than 2 chunks.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-30 23:41:56 +01:00
Pol Henarejos
b2c2980d73 Fix secure channel with no payload.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-30 21:10:35 +01:00