139 Commits

Author SHA1 Message Date
Pol Henarejos
21e3ba11c6 Upgrade to version 1.12.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
v1.12
2024-02-06 14:15:22 +01:00
Pol Henarejos
2f51786121 Added support for nullbits, pololu 3pi, waveshare rp2040 lcd 1.28 and wavezhare rp2040 one.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2024-02-06 14:12:12 +01:00
Pol Henarejos
0bee85c6aa Add -DVIDPID=<VALUE> to build a project with a known VID/PID. Supported values: NitroHSM, NitroFIDO2, NitroStart, NitroPro, Nitro3, Yubikey5, YubikeyNeo, YubiHSM, Gnuk, GnuPG
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-12-11 18:15:42 +01:00
Pol Henarejos
7f7e94c639 Use new names and selecting aid.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 15:23:54 +01:00
Pol Henarejos
a083bcdb3f Use new pico-keys-sdk name.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 14:37:29 +01:00
Pol Henarejos
109e97bcff Rename old pico-hsm-sdk to new name pico-keys-sdk.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-11-06 14:37:19 +01:00
Pol Henarejos
e3728bdb51 Update dockerfile.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-09-05 01:13:52 +02:00
Pol Henarejos
865eafb1f3 Fix Curve25519 key import.
For an unknown reason, curve25519 keys are imported in big endian instead of little endian.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-09-05 00:25:39 +02:00
Pol Henarejos
9ea894b60b Use mbedtls read/write keys wrappers.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-08-28 01:25:28 +02:00
Pol Henarejos
3ae7af9812 Create FUNDING.yml 2023-05-17 10:23:06 +02:00
Pol Henarejos
b815dc35c8 Fix initializing DEK for pw3.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-17 00:04:57 +02:00
Pol Henarejos
f6fa77368b Upgrade pico hsm sdk.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-05-16 09:24:46 +02:00
Pol Henarejos
93bef128ab Update README.md
Added Pico Patcher link.
2023-05-11 20:09:51 +02:00
Pol Henarejos
11fc49052d Fix conditional interface compilation
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-04 14:18:33 +01:00
Pol Henarejos
5eb6822bf5 Update code style.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-04 14:08:47 +01:00
Pol Henarejos
f2c1e50ffb Fix test pw1_status
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-04 14:08:36 +01:00
Pol Henarejos
80ed59f05c Update patch_vidpid for latest HSM SDK.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-03-04 14:07:18 +01:00
Pol Henarejos
73c1bf786d Upgrade to v1.10
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
v1.10
2023-02-06 00:03:18 +01:00
Pol Henarejos
02a5695b61 Added missing file.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-05 00:00:47 +01:00
Pol Henarejos
9310e1af55 Use correct branch name.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 23:58:18 +01:00
Pol Henarejos
8399cd47db Wrong branch name.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 23:57:37 +01:00
Pol Henarejos
dddb9f2824 Lets try manual trigger.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 23:56:56 +01:00
Pol Henarejos
c97dd77404 Update test.yml
Only master branch is used.
2023-02-04 23:49:55 +01:00
Pol Henarejos
94930e5f7d Some fixes in HSM SDK.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 23:48:04 +01:00
Pol Henarejos
e697e30c6c Add virtual smart card emulation for CD/CI.
On each push, the software is built in a container, run as a virtual smartcard and test it.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 23:47:49 +01:00
Pol Henarejos
1288d25999 Adding workflow for autobuild.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 23:46:20 +01:00
Pol Henarejos
51742153d0 Adding checks for platform.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 23:45:31 +01:00
Pol Henarejos
1863971a1b It can be safely checked.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 23:45:07 +01:00
Pol Henarejos
3c7df3aa42 Fix checking length in ECDH.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 23:44:55 +01:00
Pol Henarejos
e5871d5791 Fix returning algo attributes for authentication key.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 21:07:10 +01:00
Pol Henarejos
7ccbb0103f Fix computing length of algorithm attributes.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 21:06:33 +01:00
Pol Henarejos
8e03ce28a3 Fix returning signature in some cases.
In some particular cases where signature has a 0 prepended, mpi is written without that which caused variable length signatures. Now it returns the signature whose length is always the same.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 20:28:33 +01:00
Pol Henarejos
b300ed87f3 Fix returning ecdsa response for keys > 512 bits.
In that case, TLV shall contain 81 length.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 20:27:20 +01:00
Pol Henarejos
7b17cc7b49 Public point is now computed when private key is imported.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 19:44:44 +01:00
Pol Henarejos
abf190f767 Tuned returning public key information for ECDSA.
Despite it was not a bug, it seems some ASN.1 readers do not recognize 0x81/0x82 tags when len < 128.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 19:44:00 +01:00
Pol Henarejos
fda29e0e61 Adding verifies.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 01:44:44 +01:00
Pol Henarejos
d9ed002af2 Signature counter is only increased on PSO:SIGN and not for authentication.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 01:31:34 +01:00
Pol Henarejos
e1407636b8 Fix DEK loading when resetting code is used.
If no pw3, on cmd_reset_retry pw1 is changed without providing the original, since it is done via rc. Thus, there is no way to recover DEK. To solve, another ciphered field is added for loading DEK via rc. In case rc is changed (PUT DATA), DEK is reciphered with new rc.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-04 01:23:03 +01:00
Pol Henarejos
d117442825 Adding emulation support.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-03 23:28:12 +01:00
Pol Henarejos
365acbd68b Fix setting RC.
When setting RC it was not hashed and then it was not recognized.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-03 20:21:14 +01:00
Pol Henarejos
f6facc1154 When a private key is imported, a public key is generated and stored.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-03 20:08:26 +01:00
Pol Henarejos
e914d5f576 Identify before running this test.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-03 19:17:52 +01:00
Pol Henarejos
5e257729a3 Some fixes.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-03 19:17:42 +01:00
Pol Henarejos
89ed242fcd Fix historical bytes and ext capabilities test.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-03 17:44:06 +01:00
Pol Henarejos
4a629fe53f Fix returning size of some DO.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-03 17:27:02 +01:00
Pol Henarejos
22689b3784 Fix returning DO.
If the TLV container contains a single DO, the header is removed.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-03 17:25:18 +01:00
Pol Henarejos
4f1cd1f2f8 Fix returning sig counter.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-03 16:55:32 +01:00
Pol Henarejos
c9ef78b3c9 Fix returning app data.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-03 16:52:55 +01:00
Pol Henarejos
6c81fe4b1c Fix test sex.
By default, sex is \x30.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-03 16:49:30 +01:00
Pol Henarejos
3fe15c815c Fix returning chunked data.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2023-02-03 16:47:46 +01:00