Commit Graph

19 Commits

Author SHA1 Message Date
Pol Henarejos
dba614ed36 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:18:45 +01:00
Pol Henarejos
ff7ef56cda Dev options file must be persistent, since it manipulates MKEK which is in turn persistent.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-12-08 01:25:19 +01:00
Pol Henarejos
0c2e728c35 Add EF.DIR list aid.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-28 22:59:52 +02:00
Pol Henarejos
8e8192362c Use macros for referring system fids.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 19:43:10 +02:00
Pol Henarejos
d82affa880 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:55:49 +01:00
Pol Henarejos
cd6e280f4f Switching to new style.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-15 00:10:35 +01:00
Pol Henarejos
daaa5bf402 Harmonize coding style.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-14 23:13:46 +01:00
Pol Henarejos
b3bcad9ce6 Making MKEK persistent.
It must be persistent as it encrypts device private key and therefore it must survive across reinitializations.
However, if no PIN is provided to unlock it, it will be lost, as with device private key.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-25 01:51:16 +02:00
Pol Henarejos
aebb68724a Removing trailing spaces.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-19 01:44:27 +02:00
Pol Henarejos
64052f4f70 Marked EF_DEV files as persistent to remain permanent.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-18 20:08:11 +02:00
Pol Henarejos
fec02ca733 Removing cvcerts.h dependency.
A python script gets the public key of the device (EF_EE_DEV) and requests to our PKI for a CVC. Once got, it is updated to EF_TERMCA (0x2f02).
termca_pk is now on EF_KEY_DEV and termca is on EF_TERMCA (concat with DICA).

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-18 18:17:48 +02:00
Pol Henarejos
84a70a1de0 Adding MKEK_SO file descriptor.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-12 00:39:25 +02:00
Pol Henarejos
a731e88c78 Adding MKEK ef id.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-11 22:59:54 +02:00
Pol Henarejos
77e5fa2d2b Added static files for device key and certiticate.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-06-15 15:57:54 +02:00
Pol Henarejos
f2b66468ec Adding Public Key Authentication file template.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-06-07 19:44:33 +02:00
Pol Henarejos
2167d28514 Add meta files.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-05-24 22:57:59 +02:00
Pol Henarejos
c80b723112 Using dynamic dkek number and current shares, for each key domain.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-05-24 09:18:35 +02:00
Pol Henarejos
7b5cb48dcc Added key domains for device initialization and dkek import.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-05-23 20:06:06 +02:00
Pol Henarejos
522860f736 Splitting the core onto another repo, which can be reused by other smart applications.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-04-19 18:39:52 +02:00