Commit Graph

35 Commits

Author SHA1 Message Date
Pol Henarejos
5fd26200ea Refactor HWRNG to be less blocking.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2026-06-08 12:08:28 +02:00
Pol Henarejos
7f53d7f748 Fix warnings
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2026-05-14 19:18:39 +02:00
Pol Henarejos
1be7acaedd Fix warnings
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2026-05-06 11:31:07 +02:00
Pol Henarejos
b4813e9db2 Fix build
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2026-05-01 12:59:36 +02:00
Pol Henarejos
3a03000df1 Add cancelable key generation
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2026-04-30 09:56:23 +02:00
Pol Henarejos
6069c3dc2e Fix rare race condition with hwrng.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2026-04-27 20:32:28 +02:00
Pol Henarejos
dfeb5b973b Include bsp headers for timers.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2026-04-21 12:03:01 +02:00
Pol Henarejos
26de18608f A refactor.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2026-04-20 17:34:42 +02:00
Pol Henarejos
7db11c21f6 Rename random functions.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2026-04-20 13:01:14 +02:00
Pol Henarejos
94ab2ccef7 Mark submodules as system includes.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2026-03-08 22:05:30 +01:00
Pol Henarejos
8e6c6c1fcc Apply strict build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2026-03-08 19:27:23 +01:00
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
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
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
76ba851df1 Use internal TRNG of Pico.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-06 15:16:34 +02:00
Pol Henarejos
4711ae768a Move some functions to emulation header.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-09-03 18:07:50 +02:00
Pol Henarejos
e333383a22 Do not use mbedtls crt_dbrg as it it not reliable.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 00:10:53 +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
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
5d2dd5aa75 Compilation fixes
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-13 18:48:40 +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
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
68f43f3cb2 Adding functions for calling random in core0.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-09-16 00:49:10 +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
61536fa41a Adding extern to random_gen()
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-25 13:37:34 +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
33b33fdbba neug_get() does not have any argument.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-18 23:54:10 +02:00
Pol Henarejos
152a2fa031 Fix warnings 2022-05-27 20:58:28 +02:00
Pol Henarejos
d4b0978d50 More fixes 2022-05-26 14:15:16 +02:00
Pol Henarejos
1f33f1417c Adding first release of Pico CCID. It should be the core for different types of smart cards. 2022-04-19 13:40:45 +02:00