Commit Graph
100 Commits
Author SHA1 Message Date
Pol Henarejos a42c387e02 Add support for ESP32-S2 autobuild.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-02-19 12:16:27 +01:00
Pol Henarejos 1015d2f697 Upgrade to v3.2.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-01-15 10:54:42 +01:00
Pol Henarejos 5629500a22 Fix header project.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-01-15 10:53:39 +01:00
Pol Henarejos 46d35bd50f Add rollback version 1.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-01-15 10:53:27 +01:00
Pol Henarejos abb4d2326c Fix change PIN for RP2350.
Fixes #27.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-01-08 15:18:59 +01:00
Pol Henarejos 79912339b0 Add OTP for emulation and test.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-01-08 15:18:40 +01:00
Pol Henarejos 95a4f7201b Move cmd functions to separate files.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-01-08 11:46:49 +01:00
Pol Henarejos eaa8851719 Move Pico Keys SDK pointer.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-27 02:54:07 +01:00
Pol Henarejos fa8026bca2 Increase TinyUSB esp stack size.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-27 02:51:28 +01:00
Pol Henarejos e63a58a49e Fix nightly build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-27 02:28:29 +01:00
Pol Henarejos 6fc27c97ca Fix bin name.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-27 02:21:44 +01:00
Pol Henarejos 7533585540 Add nightly build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-27 02:17:59 +01:00
Pol Henarejos de9f53acd8 Fix RP2350 build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-25 23:52:56 +01:00
Pol Henarejos 3ed463cc97 Upgrade to version 3.0
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-10 18:57:19 +01:00
Pol Henarejos 4e6a9eaa4c Update README
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-10 18:56:55 +01:00
Pol Henarejos 79c69a6617 OTP key is used to mask the DEK.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-10 18:56:46 +01:00
Pol Henarejos 21a9a731aa Upgrade Pico Keys SDK
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-10 18:14:24 +01:00
Pol Henarejos 9b2b2e822a Add compiler options for optimized build.s
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-09 00:38:39 +01:00
Pol Henarejos 4ba5e04080 Add PICO_PRODUCT.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-09 00:37:19 +01:00
Pol Henarejos 2747083672 Upgrade pico keys sdk.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-09 00:36:21 +01:00
Pol Henarejos 442caa2716 Fix macos alignment.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-10-01 13:29:25 +02:00
Pol Henarejos e9f0b1b58c Update autobuild for local and esp32.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-10-01 09:33:22 +02:00
Pol Henarejos f1f6800b60 Fix ESP32 support.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-30 19:42:52 +02:00
Pol Henarejos 20b5084eee Fix build
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-30 19:42:44 +02:00
Pol Henarejos 57e8d689fc Add sdkdefaults for esp32
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-30 19:26:26 +02:00
Pol Henarejos e0779a49e7 Add error if a non-supported key is attempted to be imported.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-30 17:04:34 +02:00
Pol Henarejos 57e7fc38fb Update pico_sdk_import
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-24 00:45:53 +02:00
Pol Henarejos f301601bcd Upgrade Pico Keys SDK to add support for OTP.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-16 19:41:15 +02:00
Pol Henarejos 3edf9bbf75 Add support for RP2350.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-30 13:33:56 +02:00
Pol Henarejos cde8968068 Update to latest Pico Keys SDK.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-30 13:25:01 +02:00
Pol Henarejos c0b23a7cb3 Fix write offset.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-26 00:51:40 +02:00
Pol Henarejos 0322967865 Free x509 cert on finish.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 21:17:15 +02:00
Pol Henarejos e8c62e5867 Use bullseye for tests.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 20:58:26 +02:00
Pol Henarejos 57a6458051 Fix unitialized var.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 20:58:14 +02:00
Pol Henarejos 6780eb3935 Fix select aid to new callback.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 20:57:56 +02:00
Pol Henarejos ac33f5a026 Add bullseye dockerfile.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 20:46:09 +02:00
Pol Henarejos 1051690b79 Add support to ESP32.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-20 00:23:22 +02:00
Pol Henarejos 8a5c734c41 Fix TLV when returning the public key in get metadata.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-13 17:16:57 +02:00
Pol Henarejos c09f96e956 Fix return error when missing metadata.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-13 17:06:58 +02:00
Pol Henarejos c28852d0ea Fix return metadata for PIN/PUK.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-13 17:05:35 +02:00
Pol Henarejos 209cd389e5 Fix returning error code when no object is found on GET DATA.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-13 16:49:39 +02:00
Pol Henarejos 10c3389c51 Fix GET METADATA when ref is CARDMGM.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-13 16:48:14 +02:00
Pol Henarejos 197bf3c056 Add management support for YKMAN.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-13 16:34:10 +02:00
Pol Henarejos 6a10405357 Upgrade to version 2.2
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-07-15 15:16:36 +02:00
Pol Henarejos 1434ef2bd2 Fix for mbedtls 3.6
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-07-15 15:16:36 +02:00
Pol Henarejos 11cb855f81 Fix idVendor and idProduct placeholders for Pico Patcher. Fixes #14 and #15
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-07-15 15:16:31 +02:00
Pol Henarejos 20e7c93707 Upgrade patch_vidpid for new Pico Keys SDK.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-05-30 19:16:50 +02:00
Pol Henarejos a2c00863f6 Upgrade to version 2.0.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-05-23 19:22:59 +02:00
Pol Henarejos b61af665b8 Change size of tag_len() for uint16.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-05-23 18:44:57 +02:00
Pol Henarejos 20387c955e Use latest version of Pico Keys SDK.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-05-23 18:40:24 +02:00
Pol Henarejos 0198386734 Merge branch 'piv' 2024-05-23 18:32:26 +02:00
Pol Henarejos ce6eb6e8e6 Fix overflow when importing data.
Fixes #12.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-05-23 18:32:15 +02:00
Pol Henarejos e0daea80af Add PIV tests.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-28 01:20:48 +01:00
Pol Henarejos a9797ae1ba Added x509 extensions to attesting certificates.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-27 19:12:14 +01:00
Pol Henarejos 877e5c0a5c Fix attestation verification.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-27 18:50:55 +01:00
Pol Henarejos f4c3a75d66 Compute public point on load key.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-27 18:45:23 +01:00
Pol Henarejos b1e09b7047 Fix fetching some certs.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-27 18:10:04 +01:00
Pol Henarejos e8ad4baa70 Fix operation with slot 93.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-27 15:24:11 +01:00
Pol Henarejos 42f9402f8b Fix key deletion.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-27 15:18:01 +01:00
Pol Henarejos c609050b3c Fix keygen in slot 93.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-27 15:11:29 +01:00
Pol Henarejos 1e22908de1 Fix PIN POLICY
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-26 20:58:38 +01:00
Pol Henarejos f8974ff183 Add PIN policy check on AUTHENTICATE.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-26 19:52:47 +01:00
Pol Henarejos a49aab43d7 Added support for RSA 3072 and RSA 4096 import and fixed RSA signature/decryption.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-26 19:41:06 +01:00
Pol Henarejos f20449fee3 Fix RSA signature.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-26 19:38:17 +01:00
Pol Henarejos 85b6c90d39 Added support for key import.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-26 13:00:42 +01:00
Pol Henarejos 9fe59a551a Added support for ATTESTATION.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-26 12:13:51 +01:00
Pol Henarejos ad5e98ce89 Fix PUK change.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-25 13:32:57 +01:00
Pol Henarejos a5bb1cd721 Add 3DES support.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-25 13:25:40 +01:00
Pol Henarejos e2bbe927af Only mark MGM if challenge is the same. Otherwise, send OK silently.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-25 12:43:16 +01:00
Pol Henarejos c35beb5b0e Reset PIN status on select.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-25 11:43:10 +01:00
Pol Henarejos beabcdd8a6 Add RESET command.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-25 11:42:24 +01:00
Pol Henarejos d45a0bfc20 Fix verify on change pin.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-24 02:19:55 +01:00
Pol Henarejos 61261aa1d6 Add meta data when generatin keypair and returning public key on get metadata.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-24 02:19:39 +01:00
Pol Henarejos 6f1af52510 Add missing EF_PW_RETRIES file.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-24 01:23:58 +01:00
Pol Henarejos 1c10b0186e Added support for SET RETRIES.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-22 20:38:01 +01:00
Pol Henarejos e0e1b3758e Added support for dynamic number of maximum retries. 3 by default
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-22 20:37:47 +01:00
Pol Henarejos e3112d5cdf Added support for RESET RETRY.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-22 20:14:03 +01:00
Pol Henarejos 13f848dafb Added CHANGE PIN command.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-22 20:07:59 +01:00
Pol Henarejos 36420ef098 Added support for move-key.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-21 23:12:58 +01:00
Pol Henarejos 9de33f8969 Fix RETIRED18 comment.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-21 23:12:45 +01:00
Pol Henarejos ba941d6cad Fixed chained response in other interfaces.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-21 22:02:13 +01:00
Pol Henarejos 17d476a9e2 Fix crash on PIN change.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-21 22:01:41 +01:00
Pol Henarejos 2e70af60db Add support for SET_MGM_KEY.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-21 22:01:09 +01:00
Pol Henarejos 62743bbb3c Fix ECDSA signature encoding.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-20 10:12:16 +01:00
Pol Henarejos 1197389e02 Fix response length encoding.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-20 10:11:03 +01:00
Pol Henarejos 9bcb6c1d7e Fixed chained response.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-20 00:07:14 +01:00
Pol Henarejos ec08c06196 Added support for PUT DATA.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-20 00:06:42 +01:00
Pol Henarejos de43604db6 Added support for APDU chaining.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-19 18:55:21 +01:00
Pol Henarejos 2f24c3d9a8 Added support for PIV signature.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-19 17:56:36 +01:00
Pol Henarejos 0b7c8da592 KEK use is optional.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-19 17:56:00 +01:00
Pol Henarejos d96bbb9b4b Use new asn1 structs.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-14 23:22:19 +01:00
Pol Henarejos ebec1b1022 Add PIV asymmetric keygen.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-14 23:22:01 +01:00
Pol Henarejos 4cfa2a16bf Added AUTHENTICATE support.
Note that CARD MGM key is NOT encrypted with DEK, since it has to be accessed even without PIN.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-12 22:04:19 +01:00
Pol Henarejos 817d8b39ec Added first commit of Pico OpenPGP with PIV support.
It shares the PIN of OpenPGP.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-06 18:54:30 +01:00
Pol Henarejos 21e3ba11c6 Upgrade to version 1.12.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-02-06 14:15:22 +01:00
Pol Henarejos 2f51786121 Added support for nullbits, pololu 3pi, waveshare rp2040 lcd 1.28 and wavezhare rp2040 one.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-02-06 14:12:12 +01:00
Pol Henarejos 0bee85c6aa 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:15:42 +01:00
Pol Henarejos 7f7e94c639 Use new names and selecting aid.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 15:23:54 +01:00
Pol Henarejos a083bcdb3f Use new pico-keys-sdk name.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 14:37:29 +01:00
Pol Henarejos 109e97bcff Rename old pico-hsm-sdk to new name pico-keys-sdk.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 14:37:19 +01:00