Pol Henarejos
b3ce44f569
Rename asn1 -> tlv, as it reflects better the purpose.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2026-05-18 16:41:48 +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
b73a7e4a72
Rename delete_file.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2026-04-27 09:45:42 +02:00
Pol Henarejos
e24eb9b150
More renames.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2026-04-21 00:06:28 +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
189567eebe
Add constness
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2026-04-01 16:20:12 +02: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
802a706587
Fixed rare race condition.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2026-03-08 17:31:27 +01:00
Pol Henarejos
4cd437ed35
Fix strict non-prototype declaration warn.
...
Fixes #22 .
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2026-03-07 17:12:40 +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
f8cb36c2cf
Use uint16 funcs.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-12-23 21:23:13 +01:00
Pol Henarejos
8e68e6cae9
Use BE/LE functions for packing uint16.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-12-23 21:00:38 +01:00
Pol Henarejos
d530ea6979
Add BE/LE functions.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-12-23 20:39:47 +01:00
Pol Henarejos
f509833a3c
Pack file struct for.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-12-23 20:39:31 +01:00
Pol Henarejos
ffaf20da5d
Add memory statistics.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-12-23 19:35:56 +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
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
Pol Henarejos
6f7d92a591
Add parse phy byte string.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-11-04 18:25:05 +01:00
Pol Henarejos
2497b633ae
Fix flash initialization for RP2350.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-28 18:47:31 +02:00
Pol Henarejos
eca200d2f1
Fix EF.DIR selection.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-06-28 22:04:52 +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
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
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
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
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
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
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
Pol Henarejos
152a2fa031
Fix warnings
2022-05-27 20:58:28 +02:00
Pol Henarejos
da871e695e
More and more fixes.
2022-05-27 00:36:44 +02:00