Pol Henarejos
57e7fc38fb
Update pico_sdk_import
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-09-24 00:45:53 +02:00
Pol Henarejos
f301601bcd
Upgrade Pico Keys SDK to add support for OTP.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-09-16 19:41:15 +02:00
Pol Henarejos
3edf9bbf75
Add support for RP2350.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-30 13:33:56 +02:00
Pol Henarejos
cde8968068
Update to latest Pico Keys SDK.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-30 13:25:01 +02:00
Pol Henarejos
c0b23a7cb3
Fix write offset.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-26 00:51:40 +02:00
Pol Henarejos
0322967865
Free x509 cert on finish.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-25 21:17:15 +02:00
Pol Henarejos
e8c62e5867
Use bullseye for tests.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-25 20:58:26 +02:00
Pol Henarejos
57a6458051
Fix unitialized var.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-25 20:58:14 +02:00
Pol Henarejos
6780eb3935
Fix select aid to new callback.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-25 20:57:56 +02:00
Pol Henarejos
ac33f5a026
Add bullseye dockerfile.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-25 20:46:09 +02:00
Pol Henarejos
1051690b79
Add support to ESP32.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-20 00:23:22 +02:00
Pol Henarejos
8a5c734c41
Fix TLV when returning the public key in get metadata.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-13 17:16:57 +02:00
Pol Henarejos
c09f96e956
Fix return error when missing metadata.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-13 17:06:58 +02:00
Pol Henarejos
c28852d0ea
Fix return metadata for PIN/PUK.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-13 17:05:35 +02:00
Pol Henarejos
209cd389e5
Fix returning error code when no object is found on GET DATA.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-13 16:49:39 +02:00
Pol Henarejos
10c3389c51
Fix GET METADATA when ref is CARDMGM.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-13 16:48:14 +02:00
Pol Henarejos
197bf3c056
Add management support for YKMAN.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-08-13 16:34:10 +02:00
Pol Henarejos
6a10405357
Upgrade to version 2.2
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-07-15 15:16:36 +02:00
Pol Henarejos
1434ef2bd2
Fix for mbedtls 3.6
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-07-15 15:16:36 +02:00
Pol Henarejos
11cb855f81
Fix idVendor and idProduct placeholders for Pico Patcher. Fixes #14 and #15
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-07-15 15:16:31 +02:00
Pol Henarejos
20e7c93707
Upgrade patch_vidpid for new Pico Keys SDK.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-05-30 19:16:50 +02:00
Pol Henarejos
a2c00863f6
Upgrade to version 2.0.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-05-23 19:22:59 +02:00
Pol Henarejos
b61af665b8
Change size of tag_len() for uint16.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-05-23 18:44:57 +02:00
Pol Henarejos
20387c955e
Use latest version of Pico Keys SDK.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-05-23 18:40:24 +02:00
Pol Henarejos
0198386734
Merge branch 'piv'
2024-05-23 18:32:26 +02:00
Pol Henarejos
ce6eb6e8e6
Fix overflow when importing data.
...
Fixes #12 .
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-05-23 18:32:15 +02:00
Pol Henarejos
e0daea80af
Add PIV tests.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-28 01:20:48 +01:00
Pol Henarejos
a9797ae1ba
Added x509 extensions to attesting certificates.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-27 19:12:14 +01:00
Pol Henarejos
877e5c0a5c
Fix attestation verification.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-27 18:50:55 +01:00
Pol Henarejos
f4c3a75d66
Compute public point on load key.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-27 18:45:23 +01:00
Pol Henarejos
b1e09b7047
Fix fetching some certs.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-27 18:10:04 +01:00
Pol Henarejos
e8ad4baa70
Fix operation with slot 93.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-27 15:24:11 +01:00
Pol Henarejos
42f9402f8b
Fix key deletion.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-27 15:18:01 +01:00
Pol Henarejos
c609050b3c
Fix keygen in slot 93.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-27 15:11:29 +01:00
Pol Henarejos
1e22908de1
Fix PIN POLICY
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-26 20:58:38 +01:00
Pol Henarejos
f8974ff183
Add PIN policy check on AUTHENTICATE.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-26 19:52:47 +01:00
Pol Henarejos
a49aab43d7
Added support for RSA 3072 and RSA 4096 import and fixed RSA signature/decryption.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-26 19:41:06 +01:00
Pol Henarejos
f20449fee3
Fix RSA signature.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-26 19:38:17 +01:00
Pol Henarejos
85b6c90d39
Added support for key import.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-26 13:00:42 +01:00
Pol Henarejos
9fe59a551a
Added support for ATTESTATION.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-26 12:13:51 +01:00
Pol Henarejos
ad5e98ce89
Fix PUK change.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-25 13:32:57 +01:00
Pol Henarejos
a5bb1cd721
Add 3DES support.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-25 13:25:40 +01:00
Pol Henarejos
e2bbe927af
Only mark MGM if challenge is the same. Otherwise, send OK silently.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-25 12:43:16 +01:00
Pol Henarejos
c35beb5b0e
Reset PIN status on select.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-25 11:43:10 +01:00
Pol Henarejos
beabcdd8a6
Add RESET command.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-25 11:42:24 +01:00
Pol Henarejos
d45a0bfc20
Fix verify on change pin.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-24 02:19:55 +01:00
Pol Henarejos
61261aa1d6
Add meta data when generatin keypair and returning public key on get metadata.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-24 02:19:39 +01:00
Pol Henarejos
6f1af52510
Add missing EF_PW_RETRIES file.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-24 01:23:58 +01:00
Pol Henarejos
1c10b0186e
Added support for SET RETRIES.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-22 20:38:01 +01:00
Pol Henarejos
e0e1b3758e
Added support for dynamic number of maximum retries. 3 by default
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-22 20:37:47 +01:00
Pol Henarejos
e3112d5cdf
Added support for RESET RETRY.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-22 20:14:03 +01:00
Pol Henarejos
13f848dafb
Added CHANGE PIN command.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-22 20:07:59 +01:00
Pol Henarejos
36420ef098
Added support for move-key.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-21 23:12:58 +01:00
Pol Henarejos
9de33f8969
Fix RETIRED18 comment.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-21 23:12:45 +01:00
Pol Henarejos
ba941d6cad
Fixed chained response in other interfaces.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-21 22:02:13 +01:00
Pol Henarejos
17d476a9e2
Fix crash on PIN change.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-21 22:01:41 +01:00
Pol Henarejos
2e70af60db
Add support for SET_MGM_KEY.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-21 22:01:09 +01:00
Pol Henarejos
62743bbb3c
Fix ECDSA signature encoding.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-20 10:12:16 +01:00
Pol Henarejos
1197389e02
Fix response length encoding.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-20 10:11:03 +01:00
Pol Henarejos
9bcb6c1d7e
Fixed chained response.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-20 00:07:14 +01:00
Pol Henarejos
ec08c06196
Added support for PUT DATA.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-20 00:06:42 +01:00
Pol Henarejos
de43604db6
Added support for APDU chaining.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-19 18:55:21 +01:00
Pol Henarejos
2f24c3d9a8
Added support for PIV signature.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-19 17:56:36 +01:00
Pol Henarejos
0b7c8da592
KEK use is optional.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-19 17:56:00 +01:00
Pol Henarejos
d96bbb9b4b
Use new asn1 structs.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-14 23:22:19 +01:00
Pol Henarejos
ebec1b1022
Add PIV asymmetric keygen.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-14 23:22:01 +01:00
Pol Henarejos
4cfa2a16bf
Added AUTHENTICATE support.
...
Note that CARD MGM key is NOT encrypted with DEK, since it has to be accessed even without PIN.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-12 22:04:19 +01:00
Pol Henarejos
817d8b39ec
Added first commit of Pico OpenPGP with PIV support.
...
It shares the PIN of OpenPGP.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2024-03-06 18:54:30 +01:00
Pol Henarejos
21e3ba11c6
Upgrade to version 1.12.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
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
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
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 >
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
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