Commit graph

30 commits

Author SHA1 Message Date
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
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
a08abaed0f
Enable each USB interface independently depending on PHY parameters.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2025-03-22 23:25:31 +01:00
Pol Henarejos
9ac4ebdaed
Fix emulation write offset.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 20:57:22 +02:00
Pol Henarejos
956f476872
Fix emulation build without HID.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-25 18:29:51 +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
90842bb8f7
Fix emulation build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-23 14:24:17 +02:00
Pol Henarejos
7c76a71f33
Fix emulation build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-08-19 13:18:03 +02:00
Pol Henarejos
caddf87c23
Fix Windows emulation build.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-09 11:43:47 +01:00
Pol Henarejos
bbc06efe67
Fix byte overwrite for long chained RAPDU.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-02 01:58:09 +01:00
Pol Henarejos
b663f5bebf
Some fixes for emulation.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-01-01 20:56:36 +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
adf53b4231
Fix ATR overwrite.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-12-29 19:07:02 +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
42dcdd3372
Fix when chunking
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-09-24 10:31:35 +02:00
Pol Henarejos
910b2fb75a
Added NO_DELAY in emulation env.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-09-05 18:14:18 +02:00
Pol Henarejos
c11d403f12
Added support for OTP interface.
This interface enables a HID Keyboard interface to send keystrokes to host. Also, it enables bidirectional flow through set/get report with 8-bytes chunked frames of 70 bytes.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-28 23:32:43 +02:00
Pol Henarejos
ec9eb7c436
Fix race condition.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-14 09:57:50 +01:00
Pol Henarejos
599e5edbd1
Fix conditional interface compilation.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-04 14:16:45 +01:00
Pol Henarejos
15569ab419
Update code style.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-04 14:10:46 +01:00
Pol Henarejos
8f8134efbc
Fix preparing rdata pointer with emulated HID.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-03 00:05:05 +01:00
Pol Henarejos
b96e853e6d
Added support for Fido emulation to automatize tests.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-02 22:05:04 +01:00
Pol Henarejos
16b4fa6ca3
Emulation is now a higher define which also accepts interfaces.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-23 07:57:35 +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
07c15e0a3c
Lets try
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-30 15:39:22 +01:00
Pol Henarejos
8f68e9f8a3
Some tricks
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-30 13:30:11 +01:00
Pol Henarejos
a9eee861fe
Adding support for chained apdu in emulation mode.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-17 00:06:17 +01:00
Pol Henarejos
007782cd2b
Moving debug data.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-12 20:03:51 +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