Commit Graph

71 Commits

Author SHA1 Message Date
al heisner
e920bff3f4 Change total flash pages (needed for pico-hsm) 2024-06-21 11:41:02 -05:00
Pol Henarejos
59597a0a68 Merge branch 'esp32' 2024-06-19 22:01:46 +02:00
Pol Henarejos
d458250887 Add PHY options and PHY_WCID.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-19 22:00:55 +02:00
Pol Henarejos
af20b4f894 Merge branch 'main' into esp32
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-28 19:26:08 +02:00
Pol Henarejos
ef196bf10b Use new methods search_file() and file_put_data().
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 16:36:15 +02:00
Pol Henarejos
fc5f4299cc Fix emulation build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 11:56:54 +02:00
Pol Henarejos
6f2721aba3 Use persistent memory for storing dynamic VID/PID.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 11:42:57 +02:00
Pol Henarejos
cf1e076453 Introducing EF_PHY to store PHY (VIDPID and LED no.).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 11:40:01 +02:00
Pol Henarejos
22d4e62952 Add procedure to compute unique ID at startup.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 11:31:11 +02:00
Pol Henarejos
019c5929a2 Remove carriage return \r for better debug.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 11:21:10 +02:00
Pol Henarejos
ade730ffb5 Introducing EF_PHY to store PHY (VIDPID and LED no.).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-16 23:22:11 +02:00
Pol Henarejos
afc71f6942 Moving EF_VP to more generic EF_PHY, which stores PHY aspects from the chip.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-16 16:24:05 +02:00
Pol Henarejos
7b35000e11 Use persistent memory for storing dynamic VID/PID.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-16 16:18:28 +02:00
Pol Henarejos
6f7ab69a9d Added support for dynamic USB_VID / USB_PID.
It can be changed on runtime without rebuilding or patching.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-16 00:04:23 +02:00
Pol Henarejos
8d86a8c56b Add procedure to compute unique ID at startup.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-15 23:44:51 +02:00
Pol Henarejos
7def35f87c Remove carriage return \r for better debug.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-10 18:16:38 +02:00
Pol Henarejos
6adfe4344f When flash is written, map must be reopened.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-10 18:16:05 +02:00
Pol Henarejos
ab1b245f4f Fix write & read to flash partition.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-09 19:58:33 +02:00
Pol Henarejos
06fd241f49 Second round to make it work for ESP32S3.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-08 16:47:16 +02:00
Pol Henarejos
49f05e9e13 Now it builds the image.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-05 17:57:56 +02:00
Pol Henarejos
023039deb2 Attempting to add support to esp32s3.
Will it work? Who knows...

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-04 21:01:55 +02:00
Pol Henarejos
f88e786c04 Changed ASN1 calls for easier calls.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-13 17:16:35 +01:00
Pol Henarejos
29837e5691 Fix Pico build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-02 20:43:15 +01:00
Pol Henarejos
823c1d53ea Try to fix CodeQL build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-01 21:08:21 +01:00
Pol Henarejos
a9dc6fd7f8 Added support for building emulation in Windows.
It has not been tested but it should not break any linux build.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-01 01:54:49 +01:00
Pol Henarejos
d0dc786f74 Rename project to Pico Keys SDK to avoid confusions with Pico Fido and Pico OpenPGP.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 13:32:28 +01:00
Pol Henarejos
38283f588d Fix particular case where an EF has masked types.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-04-27 11:43:20 +02: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
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
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
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
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
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
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
e5fe638c68 Fix related with reallocation under some optimization situations.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-10-05 09:33:18 +02:00
Pol Henarejos
27d897be6c Adding delete_file().
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-29 09:05:39 +02:00
Pol Henarejos
91e2b7f643 Fix reading corrupted memory.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-22 19:24:17 +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
40288a85f1 It's a major reorganization.
In order to add FIDO2 support, we need to reorganize some USB/CCID calls to specific area (named driver).
Thus, pico-hsm-sdk has two drivers:
- CCID driver implements APDU over USB/CCID ISO-7816 standard procedures.
- HID driver implements APDU over HID.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-30 02:00:11 +02:00
Pol Henarejos
8e5d33c4ba Removing trailing spaces.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-19 01:44:03 +02:00
Pol Henarejos
7738c1902e Added permanent memory region to store data that remains persistent even after an initialization. To delete it, the device must be fully wiped.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-18 19:48:13 +02:00
Pol Henarejos
2df878232b File new should return file_t pointer if it exists in the file table.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-18 11:57:01 +02:00
Pol Henarejos
9cfe762043 low_flash_available() should be called outside.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-06-03 20:11:14 +02:00
Pol Henarejos
8bdcfa1041 Replacing with asn1 tag len function.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-06-03 11:16:25 +02:00
Pol Henarejos
199095c204 Moving some ASN1 procedures to a separate file. 2022-06-01 09:45:27 +02:00
Pol Henarejos
950e276ee8 Adding asn1_find_tag() for searching for a tag in a asn1 string. 2022-05-30 23:31:17 +02:00