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
Pol Henarejos
cf53fdd903
Adapt select_applet to new call.
...
Also fixes sex test.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-03 16:32:28 +01:00
Pol Henarejos
29b4aec24e
Adapting Cmakefile to new HSM SDK.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-03 16:32:03 +01:00
Pol Henarejos
0c63c457e7
Upgrading to newer Pico HSM SDK.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-03 16:31:51 +01:00
Pol Henarejos
2c24c348b5
Adding tests for OpenPGP.
...
All tests are taken from gnuk. Reader is migrated from pyusb to pyscard.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-02 23:08:49 +01:00
Pol Henarejos
32868dfc31
Fix signature counter storage.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-09 17:33:43 +01:00
Pol Henarejos
303116ffea
Fix P1P2 on termination check.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-09 17:10:12 +01:00
Pol Henarejos
23824afc1f
Fix importing data with TLV length > 0x7f.
...
Should fix #3 .
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-29 20:21:47 +01:00
Pol Henarejos
2c5b67597e
Moving pointer of HSM SDK.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-28 18:56:16 +01:00
Pol Henarejos
bcefdb3c84
Upgrading patcher to HSM SDK 3.4
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-25 14:26:06 +01:00
Pol Henarejos
685ee2bbd5
Moving pointer to Pico HSM SDK 3.4
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-25 14:25:50 +01:00
Pol Henarejos
6ae2a91e55
More fixes to build tool.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-23 11:09:38 +01:00
Pol Henarejos
2373f21994
Fix build tool.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-23 11:04:12 +01:00
Pol Henarejos
25bddb7230
Upgrading to version 1.8.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-23 11:00:44 +01:00
Pol Henarejos
418fa9c143
Fix patch tool.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-23 10:59:08 +01:00
Pol Henarejos
ce9ef47bb2
Using pico_hsm_sdk cmake library.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-31 14:18:37 +02:00
Pol Henarejos
603963123b
Upgrade pico-hsm-sdk to v3.0
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-31 14:12:55 +02:00
Pol Henarejos
79ce35e944
Fix endianness of vid/pid patcher.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-31 14:12:26 +02:00
Pol Henarejos
5ddfa6382b
Upgrading to new pico-hsm-sdk module.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-30 17:48:44 +02:00
Pol Henarejos
9a99baafca
Renaming submodule.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-08-30 17:48:02 +02:00
Pol Henarejos
35fb97c58f
Upgraded to version 1.6
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-06-06 14:40:34 +02:00
Pol Henarejos
3fa5dbccd0
Upgrade patch tool to version 2.0 of Pico CCID.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-06-06 14:40:19 +02:00
Pol Henarejos
b674708955
Added fixes for Pico CCID.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-06-06 14:38:13 +02:00
Pol Henarejos
86b508f2ae
Updated README with new Pico CCID stack.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-06-06 01:47:18 +02:00
Pol Henarejos
167b6d9770
Adapted to Pico CCID 2.0.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-06-06 01:01:52 +02:00
Pol Henarejos
d0c167345e
Add fmd flag when selecting the applet.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-24 23:31:12 +02:00
Pol Henarejos
ca6affaf5d
Adding private identifiers for cardholder certificates.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-20 19:03:22 +02:00
Pol Henarejos
7a77b31760
Adding INS GET NEXT DATA
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-20 19:02:55 +02:00
Pol Henarejos
9f069a7e31
When PUT DATA or GET DATA with previously selected EF (via SELECT or SELECT DATA), it puts/writes the data into the selected EF.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-15 19:48:31 +02:00
Pol Henarejos
a0384f67ca
Adding INS A5 to select DO with multiple instances.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-15 19:40:17 +02:00
Pol Henarejos
32c6f60b49
Adding INS F1 to get version.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-15 18:58:35 +02:00
Pol Henarejos
0ab5526dac
Adding FMD when selecting app by AID.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-15 18:50:45 +02:00
Pol Henarejos
eb066472b1
Adding AES support for symmetric encryption and decryption. However, there is no any software that supports AES. So, no tested feature.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-13 17:44:09 +02:00
Pol Henarejos
a2d1c5cf22
Adding key import.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-12 23:49:26 +02:00
Pol Henarejos
436c0744d0
Added clarification about Gnuk and Pico OpenPGP.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-09 19:05:50 +02:00
Pol Henarejos
223a1e015b
Updated README with new features.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-09 19:03:31 +02:00
Pol Henarejos
1491b9d36d
Upgrading version to 1.4.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-09 18:56:14 +02:00
Pol Henarejos
74aa99afa6
Adding Manage Security Environment (INS 22).
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-09 18:54:36 +02:00
Pol Henarejos
c68fe30077
Enabling KDF.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-06 19:44:27 +02:00
Pol Henarejos
21284a9375
When a DO is not found, it should return REFERENCE_NOT_FOUND instead of FILE_NOT_FOUND, which reserved for selecting applet.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-06 19:13:26 +02:00
Pol Henarejos
151f6d134e
Adding UIF DO (D6, D7 and D8).
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-05 22:35:17 +02:00
Pol Henarejos
d95d19a85b
Adding press-to-confirm when loading a private key.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-05 20:55:41 +02:00
Pol Henarejos
4e2f3ce38d
Upgrading pico-ccid.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-05-05 20:11:56 +02:00
Pol Henarejos
6ddb118bbf
Small fix.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-29 15:49:39 +02:00
Pol Henarejos
6c4cb4b12a
README uses markdown.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-29 15:47:53 +02:00
Pol Henarejos
456dd24fe5
Script to build Pico OpenPGP releases.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-29 15:47:16 +02:00
Pol Henarejos
e13a4fc121
File for live patching to burn custom VID/PID.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-29 15:47:02 +02:00
Pol Henarejos
49cee088b8
Since we cannot use version of APDU (as it always has to be 3.4 for OpenPGP), we define the version here.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-29 15:46:45 +02:00
Pol Henarejos
74197de147
Adding README
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-29 15:46:10 +02:00
Pol Henarejos
193220e59e
Adding DEK to private keys.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-27 20:16:21 +02:00
Pol Henarejos
06745515eb
Return SW_OK on VERIFY if user already logged in.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-26 21:46:13 +02:00
Pol Henarejos
30bb31a9c9
Adding life status for PW1 for PSO:CDS (single or several commands).
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-26 18:10:27 +02:00
Pol Henarejos
f0e7cdc18d
Adding capability to edit PW STATUS.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-26 18:06:23 +02:00
Pol Henarejos
283289fbc6
Moving retries to PW STATUS.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-26 18:04:25 +02:00
Pol Henarejos
dc988e2a88
Signature counter is reset on keypair generation.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-26 16:43:18 +02:00
Pol Henarejos
1594da7533
Fix with signature counter.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-26 16:39:04 +02:00
Pol Henarejos
2c47816686
Fix logging in with PW 82.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-26 16:38:50 +02:00
Pol Henarejos
b0b30aff3a
Adding increment of signature counter.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-26 16:38:23 +02:00
Pol Henarejos
30e5f12b25
Added access checks.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-26 16:03:10 +02:00
Pol Henarejos
3c2bfbc119
Moving some ASN1 stuff to mbedtls.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-26 12:14:58 +02:00
Pol Henarejos
77842f23e7
Moving signature calls outside.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-26 12:04:19 +02:00
Pol Henarejos
b67a902eb6
Fixing signature. It uses raw signature instead of heading it with asn1.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-26 09:36:36 +02:00
Pol Henarejos
e2c8d2e0aa
Fix ECDH calc secret.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-25 19:41:06 +02:00
Pol Henarejos
d87334bfbc
Added INTERNAL AUTHENTICATE.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-25 19:05:22 +02:00
Pol Henarejos
6fef2dd1dc
Parsing 0x82 as PW2.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-25 17:56:28 +02:00
Pol Henarejos
fc311c40ff
Updated key info to report generated keys in the card.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-24 00:24:25 +02:00
Pol Henarejos
7094767500
Adding RSA and ECDH decrypt.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-23 23:35:35 +02:00
Pol Henarejos
7d4024a2cb
Added INS GET CHALLENGE.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-23 20:46:10 +02:00
Pol Henarejos
f00fe8cb16
Fix signature for ECDSA. OPENPGP requires the raw signature, without ASN1 transportation.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-22 20:37:44 +02:00
Pol Henarejos
1437e1c58d
Fix returning public key for ECC.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-22 20:37:13 +02:00
Pol Henarejos
cf6009e4e1
Added factory-reset capability (TERMINATE DF and ACTIVATE FILE) support.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-22 19:21:15 +02:00
Pol Henarejos
0d2d7781a7
Added ECDSA signature.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-21 23:28:26 +02:00
Pol Henarejos
d69342d2d0
Added support for ECC keypair generation.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-21 23:13:05 +02:00
Pol Henarejos
c006246aa0
A VERIFY with P2=x82 and with data, references to PW1.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-21 22:39:53 +02:00
Pol Henarejos
879fa444e5
Added PSO SIG for signing. Needed for keypair generation.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-21 20:35:02 +02:00
Pol Henarejos
be51d608ed
Finalizing RSA keypair generation.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-04-21 19:55:39 +02:00