Commit graph

28 commits

Author SHA1 Message Date
Pol Henarejos
4ec1d4d891
Fix initialization and terminal certificate generation.
Fixes #59.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-08 17:52:13 +01:00
Pol Henarejos
f5b89aed69
Use DEV key from OTP if available when initializing.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-07 00:16:22 +01:00
Pol Henarejos
3c6684cdab
Rename CCID_ codes to PICOKEY_
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-11-05 19:29:00 +01:00
Pol Henarejos
72eb5a2a69
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
7cb0bbf982
Merge branch 'development' into esp32
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-06-03 13:06:39 +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
b034303193
Use new methods search_file() and file_put_data().
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-17 16:36:34 +02:00
Pol Henarejos
d6456b4dde
First attempt to add support to ESP32.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-04-08 19:41:39 +02:00
Pol Henarejos
c3b66773e8
Use new asn1 structs.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-03-13 18:11:28 +01: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
ed2925cfb6
Use new Pico Keys SDK.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 14:25:42 +01:00
Pol Henarejos
2a5fe1cc6d
Added initialization with self-signed certificate.
It will allow the initialization with OpenSC tool (sc-hsm-tool --initialize). However, it will not allow the use of card with SCS3, as it needs a PKI with trust chain. In this case, pico-hsm-tool.py shall be used for initialization.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-22 01:04:24 +01:00
Pol Henarejos
5e0f62265d
Fix key size of terminal cert.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-20 21:41:38 +01:00
Pol Henarejos
63b245b858
Fix initialize with PUK store memory.
Now it is cleared.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-07 11:14:13 +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
5419ff74ee
Using file_has_data() to check contents.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-13 18:07:50 +01:00
Pol Henarejos
bc20f98b44
In emulation, return always 1mb of memory.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-01-12 20:04:44 +01:00
Pol Henarejos
e8cc6a169e
Try to recover MKEK twice: with previous PIN/SO-PIN or after setting the new PIN/SO-PIN just in case some is the same as previous.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-25 01:51:16 +02:00
Pol Henarejos
7d7b6b88ba
Trying to recover MKEK to preserver device private key. If not, all are generated again.
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
82f61ff1d4
When initialized, the device key (EF_KEY_DEV) is only generated if not found.
To generate a new device key, it must be wiped.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-18 20:08:54 +02:00
Pol Henarejos
cb492728ec
Device key now uses SECP256R1 curve.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-18 18:17:48 +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
83b5753bb5
Fix saving DEV key.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-18 18:17:48 +02:00
Pol Henarejos
c3568e1211
Create the terminal private key with id = 0.
This is the terminal private key, which will be signed by our PKI.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-14 01:20:54 +02:00
Pol Henarejos
6956587106
Add newline at the end of file.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-13 23:31:09 +02:00
Pol Henarejos
e6f082d512
Splitting cmd_xxx() functions in separate files.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-08-13 14:59:27 +02:00