Pol Henarejos
8412727e03
Rename methods for better description
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2026-01-22 11:22:37 +01:00
Pol Henarejos
7de98552d1
Fix button logic.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2026-01-05 19:39:35 +01:00
Pol Henarejos
08dc94a144
Disable button press by default since LED may not be properly configured until it is commissioned.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2026-01-05 19:37:18 +01:00
Pol Henarejos
7583ecff18
Fix applet cmp
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2025-12-09 19:15:22 +01:00
Pol Henarejos
2d72a157d5
Fix on AID selection. It should support shorter AID if matches.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2025-12-01 01:44:29 +01:00
Pol Henarejos
ed848d005f
Fix curious bug when FIDO+OpenPGP+CCID connection is used in some circumstances.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2025-11-15 21:12:47 +01:00
Pol Henarejos
8f907b25ba
Relicense project under the GNU Affero General Public License v3 (AGPLv3)
...
and add the Enterprise / Commercial licensing option.
Main changes:
- Replace GPLv3 headers with AGPLv3 headers in source files.
- Update LICENSE file to the full AGPLv3 text.
- Add ENTERPRISE.md describing the dual-licensing model:
* Community Edition: AGPLv3 (strong copyleft, including network use).
* Enterprise / Commercial Edition: proprietary license for production /
multi-user / OEM use without the obligation to disclose derivative code.
- Update README with a new "License and Commercial Use" section pointing to
ENTERPRISE.md and clarifying how companies can obtain a commercial license.
Why this change:
- AGPLv3 ensures that modified versions offered as a service or deployed
in production environments must provide corresponding source code.
- The Enterprise / Commercial edition provides organizations with an
alternative proprietary license that allows internal, large-scale, or OEM
use (bulk provisioning, policy enforcement, inventory / revocation,
custom attestation, signed builds) without AGPL disclosure obligations.
This commit formally marks the first release that is dual-licensed:
AGPLv3 for the Community Edition and a proprietary commercial license
for Enterprise customers.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2025-10-26 20:06:16 +01:00
Pol Henarejos
233e6594c6
Add casts to fix warnings.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2025-10-12 18:52:07 +02:00
Pol Henarejos
0ddfdf8134
Add sanity check.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2025-10-07 21:11:28 +02:00
Pol Henarejos
031d76737b
Add pico_serial_hash as a source of unique (almost) 32 bytes string.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2025-10-07 21:11:06 +02:00
Pol Henarejos
4edc506759
Fix build for non-pico boards.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2025-09-22 23:35:46 +02:00
Pol Henarejos
eb75ad4efa
Add app_exists() to check if an AID is loaded.
2025-05-25 19:07:20 +02:00
Pol Henarejos
f18f761234
Restore led mode when finishing button press.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2025-03-19 01:19:17 +01:00
Pol Henarejos
2c3fe5bebf
Only pin to core in ESP32-S3 since it is multicore.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2025-03-07 19:35:13 +01:00
Pol Henarejos
9e9632f297
Fix commissioned values for LED.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2025-02-23 00:49:45 +01:00
Pol Henarejos
c59fb91540
Set stack size depending on the number of enabled interfaces.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-12-24 01:42:33 +01:00
Pol Henarejos
585a6d77e3
Use USB product field in the descriptor.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-12-17 16:27:11 +01:00
Pol Henarejos
812f075ee4
Add UP button timeout to PHY.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-11-25 12:57:17 +01:00
Pol Henarejos
3dbf969e12
WCID interface is always enabled.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-11-06 17:02:38 +01:00
Pol Henarejos
6625678c30
Rename CCID_ codes to PICOKEY_
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-11-05 18:21:24 +01:00
Pol Henarejos
5399149b9d
Increase number of hosted apps to 8.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-11-05 18:03:00 +01:00
Pol Henarejos
27a685b931
Fix usb initialization for emulation.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-11-05 09:42:27 +01:00
Pol Henarejos
0638409ff8
Refactor PHY to support more flexible and scalable architecture.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-11-05 00:29:13 +01:00
Benoît Allard
7a0b67f3cb
led: Rename 'blink' to 'mode'
2024-09-25 21:46:33 +02:00
Pol Henarejos
108cfec47c
Enable OTP to store a permanent secret key.
...
It can be used by HSM or Fido to protect the keys and use it as MKEK.
2024-09-11 23:16:23 +02:00
Pol Henarejos
ea6303de81
Add new led module to use colors whenever is possible.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-09-03 18:07:37 +02:00
Pol Henarejos
20099b61e8
Fix ESP32 GPIO led no.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-09-02 17:28:18 +02:00
Pol Henarejos
9f65a2cfa0
Fix BOOT press with RP2350.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-09-02 09:48:04 +02:00
Pol Henarejos
2d6545f191
Add support to RP2350.
...
RP2350 does not support RTC, so we use AON timer instead.
2024-08-28 16:42:46 +02:00
Pol Henarejos
7a88a2b8e7
Improved multicore synchronization. Now they exchange signals and protect areas atomically.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-23 19:24:18 +02:00
Pol Henarejos
65fea84df1
Fix warnings.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-23 13:17:10 +02:00
Pol Henarejos
fa6292118d
Major refactor of USB CCID and USB HID interfaces. All interfaces are rewritten.
...
With this new scheme we ensure that:
- memcpy's are reduced.
- no race conditions are performed.
- critical areas are protected.
- callbacks are executed immediately.
- write's are executed after the positive report is received.
- no usb middle interface anymore.
- CCID and HID are totally independent.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-23 10:02:19 +02:00
Pol Henarejos
38f0e2cc3a
select_app now invokes U2F or FIDO depending on the message.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-20 14:29:11 +02:00
Pol Henarejos
c1571c02f8
Increase vStack depending on the number of interfaces.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-20 12:43:01 +02:00
Pol Henarejos
b3dbee5cd6
Increase vStack of core0 of ESP32.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-18 23:43:54 +02:00
Pol Henarejos
246ed5cf19
Fix when setting options and taking VIDPID values.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-06-21 22:07:28 +02:00
Pol Henarejos
218441a45a
Added support for enable/disable Web CCID on the fly.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-06-19 23:28:55 +02:00
Pol Henarejos
a0e55ebfae
Fix tusb initialization.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-06-19 22:30:07 +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
b6b53010cc
Fix build for emulated interface.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-04-16 00:03:43 +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
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
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
81fcd2ced7
Go back 1 second wait
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-10-31 17:33:34 +01:00
Pol Henarejos
3182d1e2e6
Fixed potential crash.
...
board_button_read() disables interrupts and cannot be parallelized when flash is being used. It is imperative that core1 must not use flash during the board_button_read(). Since it is not feasible to put mutexes in *every* flash memory read/write in core1, it is preferable to wait until core1 finishes command execution.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-10-31 00:40:38 +01:00
Pol Henarejos
eef2f190f2
New format for applet selection.
...
AID comparison is performed by the kernel. If it is the same as previously loaded, do nothing. If not found, do nothing. If found and is different, unload old and load the new one.
All other applets shall be migrated to new format.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-10-11 21:02:04 +02:00
Pol Henarejos
10a9511358
Added support for LED in Pico W.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-09-18 10:12:32 +02:00