Commit Graph
100 Commits
Author SHA1 Message Date
Pol Henarejos 55cf9292d2 Update ESP32 CMake
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-23 02:09:38 +02:00
Pol Henarejos db5c7adef4 Update tests for OpenSC 0.25.1
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-23 01:59:32 +02:00
Pol Henarejos d3751e3918 Upgrade opensc version in workflows.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-23 01:18:19 +02:00
Pol Henarejos d708158fea Fix key unwrap with latest OpenSC. Fixes #41.
SC-HSM driver in OpenSC has changed the procedure for unwraping. It stores the wrap into a temporary file (0x2F10) and then it calls unwrap cmd.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-23 01:17:01 +02:00
Pol Henarejos dc979194fa Fix crash in mbedtls 3.6
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-23 01:00:14 +02:00
Pol Henarejos 237e687c3b Upgrade to Pico Keys SDK v6.0
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-22 20:57:28 +02:00
Pol Henarejos ed89175edc Fix rare overflow (never happens).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-22 19:03:58 +02:00
Pol Henarejos 9a7be98e6e Settings proper phy options
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-21 22:08:36 +02:00
Pol Henarejos c4a08aff0f Upgrade to Mbedtls 3.6
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-21 21:29:32 +02:00
Pol Henarejos 223fc117dd Enable patch only for RPI
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-21 21:15:29 +02:00
Pol Henarejos d1fb4d0c65 Merge branch 'master' into development
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-21 21:14:43 +02:00
Pol Henarejos 47acef71c8 Only when not emulation.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-21 21:11:18 +02:00
Pol Henarejos 79f76a176d Fix time.h header.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-19 23:36:41 +02:00
Pol Henarejos dd68554782 Added support for enable/disable Web CCID on the fly.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-19 23:29:05 +02:00
Pol Henarejos f20fdc9bda Add missing header.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-19 22:42:19 +02:00
Pol Henarejos e7d4a5dd3d Fix tusb initialization.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-19 22:35:04 +02:00
Pol Henarejos b4671c2ecb Merge branch 'esp32' into development 2024-06-19 22:03:47 +02:00
Pol Henarejos 50a29519bd First release to support ESP32.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-19 22:03:39 +02:00
Pol Henarejos 54cdbfc22c Add PHY OPTS.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-19 22:01:15 +02:00
Pol Henarejos 7cb0bbf982 Merge branch 'development' into esp32
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-03 13:06:39 +02:00
Pol Henarejos 07079b6ba1 Add descriptive message.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-05-30 19:19:02 +02:00
Pol Henarejos 294ca81d7d Upgrade patch_vidpid with newer Pico Keys SDK.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-05-30 19:18:37 +02:00
Pol Henarejos 218660e694 Only allow change PHY without PIN. PIN is required for other extra options.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-22 23:47:08 +02:00
Pol Henarejos de89d61359 Use new file methods.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-22 23:44:00 +02:00
Pol Henarejos 8e8192362c Use macros for referring system fids.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 19:43:10 +02:00
Pol Henarejos 25c93c279f Fix potential crash on loading dkek.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 19:42:47 +02:00
Pol Henarejos 001d076fdf Better check for XKEK content.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 19:42:23 +02:00
Pol Henarejos 35d5d5e94e Use search_file() method.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 19:19:45 +02:00
Pol Henarejos b034303193 Use new methods search_file() and file_put_data().
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 16:36:34 +02:00
Pol Henarejos 623cf10dba Add phy command to pico-hsm-tool to change VIDPID dynamically.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 11:51:25 +02:00
Pol Henarejos fdc41e5856 Add support for PHY command to store and change VIDPID and LED no. dynamically on reboot.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 11:50:44 +02:00
Pol Henarejos 5d0dc210da Use external unique ID.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 11:48:23 +02:00
Pol Henarejos a674410826 Remove carriage return \r for better debug.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 11:46:34 +02:00
Pol Henarejos 920d22212a Add phy command to pico-hsm-tool to change VIDPID dynamically.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-16 23:23:20 +02:00
Pol Henarejos aeeb540a2f Add support for PHY command to store and change VIDPID and LED no. dynamically on reboot.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-16 23:22:49 +02:00
Pol Henarejos be071b0bc1 Add support for dynamic VID / PID.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-16 00:05:01 +02:00
Pol Henarejos 8bbbdb4dd8 Build WCID interface.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-16 00:04:48 +02:00
Pol Henarejos 45b633cc9d More defaults.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-16 00:04:33 +02:00
Pol Henarejos 842919a26b Use external unique ID.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-15 23:45:30 +02:00
Pol Henarejos 3dbcefea85 Upate build parameters.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-11 15:15:18 +02:00
Pol Henarejos 60038f9345 Fix flash issues.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-10 20:29:02 +02:00
Pol Henarejos d8c7fb0856 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 d6456b4dde First attempt to add support to ESP32.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-08 19:41:39 +02:00
Pol Henarejos ac781c1db6 Fix asn1 struct initialization.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-13 21:21:37 +01:00
Pol Henarejos c3b66773e8 Use new asn1 structs.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-13 18:11:28 +01:00
Pol Henarejos 3ca23b932c Fix Windows emulation build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-09 11:43:59 +01:00
Pol Henarejos 9fad920c3b Fix Windows emulation build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-09 11:43:46 +01:00
Pol Henarejos 38bef5b43f Fix error message
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-09 11:26:26 +01:00
Pol Henarejos 2034e436d1 Fix CVC outer signature length.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-08 10:59:34 +01:00
Pol Henarejos 215221b30e Let's add pico and local CodeQL modes.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-02 20:51:08 +01:00
Pol Henarejos de4d95beb8 Fix Pico build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-02 20:43:24 +01:00
Pol Henarejos 963b6f4f87 Fix CodeQL build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-02 20:36:54 +01:00
Pol Henarejos fa9b244c42 Fix LE computation in a wrapped APDU.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-02 19:57:52 +01:00
Pol Henarejos 2b92d89ab7 Fix size_t casting.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-02 19:56:38 +01:00
Pol Henarejos a1d7733b95 Fix key exchange.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-02 02:44:59 +01:00
Pol Henarejos 39f1041dbb Fix byte overwrite for long chained RAPDU.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-02 02:36:21 +01:00
Pol Henarejos 2e4fc568db Fix new return format for import_kek.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-02 02:36:09 +01:00
Pol Henarejos 4f4e6e09a2 Fix size var load.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-02 02:31:38 +01:00
Pol Henarejos 08c0aaee6f Fix SM wrap for large RAPDU.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-02 01:03:57 +01:00
Pol Henarejos de98e79c99 Try to fix CodeQL build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-01 21:09:42 +01:00
Pol Henarejos 481cd5fd69 Some fixes for emulation.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-01 20:58:40 +01:00
Pol Henarejos d9a8826a32 Stupid bug integer overflow.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-01 02:01:22 +01:00
Pol Henarejos d82affa880 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:55:49 +01:00
Pol Henarejos ab31a6615c Fix ATR overwrite.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-12-29 19:07:28 +01:00
Pol Henarejos 677cceb130 Update to latest PicoHSM.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-12-29 19:07:20 +01:00
Pol Henarejos 29967c067a Add -DVIDPID=<VALUE> to build a project with a known VID/PID. Supported values: NitroHSM, NitroFIDO2, NitroStart, NitroPro, Nitro3, Yubikey5, YubikeyNeo, YubiHSM, Gnuk, GnuPG
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-12-11 18:14:04 +01:00
Pol Henarejos 2974aa234a Added required for subparsers.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-13 16:59:15 +01:00
Pol Henarejos d90b296237 Added keygen command to generate AES, X25519 and X448 keys.
It replaces x25519/x448 commands and cipher keygen subcommand.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-13 16:57:11 +01:00
Pol Henarejos e98b26fee5 Flush stderr.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-13 15:34:33 +01:00
Pol Henarejos 2086a68c53 Key id not needed on keygen.
It also returns the fresh new generated key id.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-13 15:34:21 +01:00
Pol Henarejos 74afa07512 Do not make a PRKD on key unwrap since it is already done when storing.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-13 15:33:52 +01:00
Pol Henarejos e96e1d0097 When a key is generated and stored, it creates its PRKD.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-13 15:33:27 +01:00
Pol Henarejos 4d47f0224e Fix emulation in apple.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-13 14:26:46 +01:00
Pol Henarejos 58692b2711 Fix PRKD cert on key unwrap.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-13 14:14:10 +01:00
Pol Henarejos a5ab1cabc5 Add support for AES-ECB, AES-CBC with custom IV, AES-OFB, AES-CFB, AES-GCM, AES-CCM, AES-CTR and AES-XTS.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-11 21:19:31 +01:00
Pol Henarejos 1c7cdc8564 Added support for CMAC.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-11 20:28:13 +01:00
Pol Henarejos d74b3418bc Fix typo
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-11 20:13:38 +01:00
Pol Henarejos 98e9b72b42 Upgrade version to 3.6.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 17:26:43 +01:00
Pol Henarejos 1b0d23cf24 Add two new boards.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 17:26:24 +01:00
Pol Henarejos 3ccff7881f Upgrade to Pico Keys SDK 5.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 17:25:04 +01:00
Pol Henarejos a3bf2e9e14 If no key is found, generate a new one.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 17:10:19 +01:00
Pol Henarejos 88ff27f354 Fix mbedTLS 3.5 build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 17:01:27 +01:00
Pol Henarejos ed2925cfb6 Use new Pico Keys SDK.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 14:25:42 +01:00
Pol Henarejos cc19f8f061 Use new pico-keys-sdk submodule.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 14:20:39 +01:00
Pol Henarejos b6831a4650 Rename pico-hsm-sdk submodule to new name.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 14:20:19 +01:00
Pol Henarejos 652a0f0d21 Fix managing spaces.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-10-12 21:04:02 +02:00
Pol Henarejos 9dbf4b3172 Removing pkcs11-tool test for EC.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-10-12 19:03:37 +02:00
Pol Henarejos 76522829ef User must log in after DKEK import.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-10-12 17:42:49 +02:00
Pol Henarejos 6b1eeb4004 Fix DKEK import when no logged.
DKEK shall accept import even if it is not logged in. However, to store the DKEK, the PIN is used for MKEK, which is not available if it is nog logged in. I added a queueing system to store a pending DKEK after login.

Therefore, to import a DKEK, the user must import it AND call VERIFY command if it is not already logged in.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-10-12 17:42:31 +02:00
Pol Henarejos 2693ab4926 Fix applet selection.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-10-12 17:40:56 +02:00
Pol Henarejos 5d21e39aa6 Fix deleting key domain.
It only checks if contains keys and no other files.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-10-12 17:40:20 +02:00
Pol Henarejos 1bf0d6337b Added backup and restore tests (pkcs11 wrap/unwrap).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-10-11 21:12:06 +02:00
Pol Henarejos 1950b03d35 Add more pkcs11-tool tests.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-10-11 21:11:41 +02:00
Pol Henarejos 4be258f4c7 Fix applet loading.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-10-11 21:04:53 +02:00
Pol Henarejos eddb1baf7b Use new applet selection format.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-10-11 21:03:17 +02:00
Pol Henarejos 11bb00e186 Default key domain is 0.
It allows to wrap keys not associated to any key domain.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-10-11 21:03:09 +02:00
Pol Henarejos aaed6bd7b6 New format for applet selection.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-10-11 21:02:18 +02:00
Pol Henarejos 2853b38b08 Add PKCS11 tool test
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-10-11 13:00:24 +02:00
Pol Henarejos 654cb1e4e0 Added AES pkcs11 tests.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-10-11 12:13:21 +02:00
Pol Henarejos 185d19504f Add plaintext debug.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-10-11 12:12:53 +02:00