Pol Henarejos
b24e109a3c
Fix error message when no card is detected.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-16 22:50:53 +01:00
Pol Henarejos
215fdca9f8
Added AES cipher tests.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-15 19:47:16 +01:00
Pol Henarejos
9279773073
Removed printf
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-15 19:46:42 +01:00
Pol Henarejos
d5b718ca58
Move pointer again...
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-15 00:14:37 +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
e7495d11f2
Moving pointer.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-14 23:25:13 +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
cab72f200a
Moving pointer
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-14 23:12:48 +01:00
Pol Henarejos
380d47faa1
Renaming for avoiding confusions
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-14 23:05:37 +01:00
Pol Henarejos
962d1c6916
When runing a test, load a initial flash image that contains KEYDEV.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-14 22:53:30 +01:00
Pol Henarejos
d81d51d6fc
Fix get public key.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-14 21:51:46 +01:00
Pol Henarejos
319000df1a
Add challenge tests.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-14 21:38:06 +01:00
Pol Henarejos
5508e531a0
Added key domain tests.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-14 18:52:12 +01:00
Pol Henarejos
1e846600dd
Add test info
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-14 18:51:50 +01:00
Pol Henarejos
43a49d2a14
Return reference not found when deleting a key domain.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-14 18:51:30 +01:00
Pol Henarejos
3b9c2d159b
Fix returning existing key domain.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-14 18:47:43 +01:00
Pol Henarejos
14c7852143
Fix returning shared secret.
...
I do not know why a 0x04 was prepended.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-14 11:28:27 +01:00
Pol Henarejos
407110def4
Added ECDH tests.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-14 11:25:02 +01:00
Pol Henarejos
79d86a335c
Adding more tests and renaming old ones.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-13 23:54:41 +01:00
Pol Henarejos
0685be5f1e
EE_CERTIFICATE is added when importing key.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-13 23:53:41 +01:00
Pol Henarejos
8f6ae52c70
Added routines for import key.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-13 23:52:58 +01:00
Pol Henarejos
af16be64a2
Adding checks on ec import.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-13 23:30:27 +01:00
Pol Henarejos
68071825c2
Fix EC public key computation when importing.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-13 23:24:04 +01:00
Pol Henarejos
fbabb81acd
Fix asymmetric decrypt for OAEP. It only supports SHA256.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-12 21:53:47 +01:00
Pol Henarejos
8bc4b133ca
Adding routine for asymmetric decryption.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-12 21:53:19 +01:00
Pol Henarejos
2ce458dad5
Adding BP curves and RSA 4k to signature test.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-02-12 21:53:01 +01:00
Pol Henarejos
478b186094
Finally it seems to work.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 16:09:57 +01:00
Pol Henarejos
ab71b3163b
Adding sleep just in case.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 16:07:41 +01:00
Pol Henarejos
c4de88e6c6
Moving pointer
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 15:39:31 +01:00
Pol Henarejos
3b0e34f465
More tries...
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 13:23:39 +01:00
Pol Henarejos
9077e78315
More flags to debug
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 13:15:04 +01:00
Pol Henarejos
2f5fcd1f14
Start pcscd with debug flag to get more debug info.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 13:09:17 +01:00
Pol Henarejos
24d430a3ac
Updating pointer to include aesni
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 13:04:34 +01:00
Pol Henarejos
307eb63ee5
Init submodules in actions.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 12:59:03 +01:00
Pol Henarejos
07f85dc4b8
Add warning removal
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 12:18:18 +01:00
Pol Henarejos
a4026e0ca0
Submodules must be pulled.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 12:09:46 +01:00
Pol Henarejos
ebd8dc7bb8
Add apt-utils package.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 12:08:16 +01:00
Pol Henarejos
bac15d5472
Removing TTY from docker.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 12:05:03 +01:00
Pol Henarejos
8540fdcf19
Updating pointer.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 12:01:20 +01:00
Pol Henarejos
fc8d39882f
Add missing build file.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 12:00:57 +01:00
Pol Henarejos
ca093eb81e
Add emulation and test workflow.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 11:59:26 +01:00
Pol Henarejos
35c42bccb4
List PRKD if exist.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 01:25:25 +01:00
Pol Henarejos
52114b2d85
Added initialization on each keypairgen.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 01:25:05 +01:00
Pol Henarejos
8f593f6357
Added support for build emulation in Apple and Linux.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 01:24:35 +01:00
Pol Henarejos
6f8769ee8d
Added scripts for testing in a docker container.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-30 01:24:10 +01:00
Pol Henarejos
1af461c206
Add first battery of tests.
...
It contains keypair generation for ECC and RSA, PIN blocking and signature generation and verification.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-17 13:41:10 +01:00
Pol Henarejos
8976dc1f79
Added support for RSA-PKCSv15-SHA224, SHA384 and SHA512. Also added support for RSA-PSS-SHA224, SHA384 and SHA512.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-17 00:41:46 +01:00
Pol Henarejos
9d47e62041
Fix signature for secp521r1.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-17 00:05:46 +01:00
Pol Henarejos
0daddfd477
Fix ECDSA-SHA384 and ECDSA-SHA512.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-17 00:05:31 +01:00
Pol Henarejos
89d617110f
Add asn1_build_prkd_rsa()
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-16 18:54:28 +01:00
Pol Henarejos
17941397e9
Fix exporting large ECC key.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-16 18:54:20 +01:00
Pol Henarejos
f2aa4aae79
Moving pointer to latest bug fixes.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-14 00:41:23 +01:00
Pol Henarejos
e29b3143ed
Moving pointer
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-13 18:49:08 +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
723011078c
Using file_has_data() instead of data directly.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:06:31 +01:00
Pol Henarejos
fe7c0333ab
Some emulation fixes.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:06:11 +01:00
Pol Henarejos
c01940b62b
Fix accessing way to data.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:05:59 +01:00
Pol Henarejos
7195a8f3ec
Fix headers in emulation mode.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:05:46 +01:00
Pol Henarejos
7764de4e10
Unused headers.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:05:16 +01:00
Pol Henarejos
e05c526b4d
Fix printf format.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:04:55 +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
742c3f3e3c
RTC command is not available in emulation.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:04:23 +01:00
Pol Henarejos
9793977ffc
Fixed double counter increment.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:04:05 +01:00
Pol Henarejos
6c85772fff
Added emulated build capability.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2023-01-12 20:03:42 +01:00
Pol Henarejos
9ff3254a4c
Update to latest HSM SDK.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-22 22:50:54 +01:00
Pol Henarejos
7d906851dd
Updating to newer version of Pico HSM SDK.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-20 23:51:49 +01:00
Pol Henarejos
691aa3308c
Fix when importing a dkek and it fails.
...
Now the dkek state is returned to the previous one.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-06 20:11:26 +01:00
Pol Henarejos
6a57e67629
Fix importing dkek twice.
...
It is not allowed anymore.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-06 20:04:18 +01:00
Pol Henarejos
202c8a4b22
Credentials are not necessary when importing DKEK.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-06 20:00:32 +01:00
Pol Henarejos
f2874ae3ef
Fix when ping is provided during the initialization.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-06 20:00:19 +01:00
Pol Henarejos
9e9cf9b768
Upgrading version to v3.2.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-06 19:00:44 +01:00
Pol Henarejos
c95dee84f2
Changing backend service url.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-06 19:00:35 +01:00
Pol Henarejos
65cde9960f
Upgrading version to v3.2.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-12-04 17:42:03 +01:00
Pol Henarejos
7ca96178fb
Moving HSM SDK pointer to latest release.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-28 18:54:22 +01:00
Pol Henarejos
e70461e551
Merge branch 'master' into development
2022-11-15 17:40:29 +01:00
Pol Henarejos
63c85000d0
Added support for kdf.
...
It supports HKDF, PBKDF2 and X963, with multiple MD (SHA family), salt/nonces and configurable output size.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-15 00:15:59 +01:00
Pol Henarejos
4113f6a65d
Fix parsing PBKDF2 params.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-15 00:14:39 +01:00
Pol Henarejos
f98d744076
Add apdu.ne check for large buffers.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-14 18:04:44 +01:00
Pol Henarejos
bb4c293736
Adding subparsers for subcommands.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-14 16:27:51 +01:00
Pol Henarejos
aa8b1e6efe
Added support for X963 KDF.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-14 15:38:16 +01:00
Pol Henarejos
0cb2e8ec2e
Added PBES2 key derivation with encryption and decryption support.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-14 13:07:49 +01:00
Pol Henarejos
0e96753ccb
Added support for PBKDF2.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-14 12:01:27 +01:00
Pol Henarejos
2b2df22d75
Added support for configurable HKDF.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-14 10:14:54 +01:00
Pol Henarejos
f65167e3c7
Adding support for keypair generation for Curve25519 and Curve448.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-11 17:10:34 +01:00
Pol Henarejos
8fe2677a56
Fix cofactor return with cvc.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-11 17:08:36 +01:00
Pol Henarejos
d09a7cf9c8
If self-signature fails, puts all-0.
...
When generating a keypair and returns a self-signed CVREQ, the signature might fail for Curve25519 and Curve448. Instead of returning null, it puts zeros in order to return what is expected to return.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-11 17:04:17 +01:00
Pol Henarejos
6bf72e5a59
Added support for HMAC-SHA1, HMAC-SHA224, HMAC-SHA256, HMAC-SHA384 and HMAC-SHA512.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-08 17:26:32 +01:00
Pol Henarejos
7c877ebea2
Using file_out parameter.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-07 22:31:19 +01:00
Pol Henarejos
e1983f7bcc
Now is possible pipe encrypt & decrypt commands.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-07 22:16:10 +01:00
Pol Henarejos
a5e025a4e5
If no applet is selected, then select it.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-07 21:37:42 +01:00
Pol Henarejos
a7682d2639
Adding Extended Cipher feature.
...
With this new subcommand, Pico HSM will support newer cipher algorithms.
ChaCha20-Poly1305 is the first. It will be based on a custom P2 subcommand to support an arbitrary structure with multiple parameters (AAD, IV, etc.)
pico-hsm-tool.py shall be used.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-07 21:37:11 +01:00
Pol Henarejos
30301c68f1
Linux uses the generic interface. Needs deep testing.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-07 13:14:37 +01:00
Pol Henarejos
abf980d84e
Fixes in windows backend.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-03 18:41:02 +01:00
Pol Henarejos
8718f55df2
Adding secure_key for windows.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-03 18:26:35 +01:00
Pol Henarejos
d1a3a24527
Import secure_key only when needed.
...
Now, it does not block anymore the entire execution of pico tool.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-03 16:09:42 +01:00
Pol Henarejos
f363b77a07
Adding secure_key for macOS.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-11-03 16:06:06 +01:00
Pol Henarejos
00279da8d5
Adding Secure Lock to lock the device with a random 256 bit key.
...
This is an extra layer of security to avoid brute force attacks if PIN is too weak.
At every hard reset (on device plug), the device must be unlocked prior any other command. Once unlocked, the device can be used as usual.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-31 15:09:54 +01:00
Pol Henarejos
eda8b53949
Memory cleanup on ECDH.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-31 12:54:44 +01:00
Pol Henarejos
cfc0cc8f6e
Some optimizations.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-31 00:38:30 +01:00
Pol Henarejos
ab61b2a2d5
Fix returning public key of koblitz curve secp_k1.
...
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es >
2022-10-31 00:38:21 +01:00