Commit graph

135 commits

Author SHA1 Message Date
Pol Henarejos
e36c80761e
Fix login session persistence. It is handled when the card reader disconnects, instead of when applet is selected (only the first time).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-06 01:50:34 +01:00
Pol Henarejos
bf2624cd88
AES keys are DKEK encrypted in flash.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-06 01:40:30 +01:00
Pol Henarejos
8c1977783e
Fix AES initialization context.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-06 01:30:39 +01:00
Pol Henarejos
7306a9765e
Fix AES key generation for other 128 and 192 bits.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-06 01:29:39 +01:00
Pol Henarejos
5e377cccaf
Added AES encryption/decryption.
However, I could not find any interface (neither opensc nor sc-hsm-embedded).
Needs further testing.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-06 01:28:29 +01:00
Pol Henarejos
37957dd8fd
Adding asymmetric decryption.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-06 00:09:01 +01:00
Pol Henarejos
ba3fa745a1
Moving load private key methods.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-05 00:31:55 +01:00
Pol Henarejos
982ca07096
Keys are decrypted when are used for signature.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-05 00:09:36 +01:00
Pol Henarejos
6cd575ea51
Added key unwrap support.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-04 23:30:56 +01:00
Pol Henarejos
a29b01cdd8
Adding key wrap support.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-04 23:23:15 +01:00
Pol Henarejos
64cf9097e3
Fix saving imported DKEK.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-04 23:10:58 +01:00
Pol Henarejos
f022c3235d
Fix when initialize with 0 dkek shares. DKEK is automatically generated and saved.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-04 23:10:15 +01:00
Pol Henarejos
010c8018ea
DKEK is reencrypted with the new pin if changed.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-04 23:08:15 +01:00
Pol Henarejos
78bad89415
Private and secret keys are now stored encrypted with DKEK.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-04 23:00:59 +01:00
Pol Henarejos
dcabd78ddb
Cleaning debug.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-04 23:00:24 +01:00
Pol Henarejos
59833d08eb
Adding support for generating more than 32 bytes at a time.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-04 10:46:10 +01:00
Pol Henarejos
41f0b53dd5
Fix listing private keys and X509 certificates.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-03 17:56:22 +01:00
Pol Henarejos
ab6a081fdf
Better debugging.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-03 00:00:29 +01:00
Pol Henarejos
70e153e11d
Fix RSA RAW signature.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-03 00:00:14 +01:00
Pol Henarejos
2f4fb3507b
Fix ECDSA signature computation. Now it works.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-01 23:37:53 +01:00
Pol Henarejos
9202c4db66
Added ECDSA signature.
Added RSA cleanups.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-01 01:15:55 +01:00
Pol Henarejos
486c4eb449
Added RSA signature (not tested).
Still missing ECDSA signature. Trying to figure out what is ECDSA RAW.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-03-01 00:55:01 +01:00
Pol Henarejos
ff06414247
Adding signature computation (unfinished)
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-28 09:43:09 +01:00
Pol Henarejos
553bd793b9
RP 2040 does not have PIN support (i.e., pin pad support). Thus, we disable it to enable openssl pkcs11 engine interaction.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-27 20:58:04 +01:00
Pol Henarejos
8d6acb8162
Updating ATR.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-27 20:57:24 +01:00
Pol Henarejos
44b3792166
Fix with reading dynamic files.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-27 20:56:45 +01:00
Pol Henarejos
1918a5769c
Adding symmetric key generation (AES CBC)
Fix file search and discovery.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-25 17:04:31 +01:00
Pol Henarejos
36cd26acd3
More candy debug.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-25 17:03:28 +01:00
Pol Henarejos
6777221e48
Allow for null data write to allocate physical space.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-25 17:03:05 +01:00
Pol Henarejos
857aaf2679
Fix ACL when creating new file.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-24 22:38:15 +01:00
Pol Henarejos
a94c74e508
Added PIN change.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-24 22:07:52 +01:00
Pol Henarejos
4cdb2f93e5
Fix reset pin.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-24 20:37:50 +01:00
Pol Henarejos
8657758cf2
Adding acl and pin checks.
If pin is blocked, is always blocked despite correct login.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-24 20:00:37 +01:00
Pol Henarejos
fce1a30f56
Fix deleting key.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-24 19:04:06 +01:00
Pol Henarejos
a4ef5e6d17
Adding delete file command.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-24 16:22:05 +01:00
Pol Henarejos
249de0c5d2
Calling variable token info data generation.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-23 22:17:58 +01:00
Pol Henarejos
a90aac5533
Making files to accept data callbacks (useful for asn1 data).
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-23 22:17:31 +01:00
Pol Henarejos
b874575dab
Moving to static dynamic files.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-23 17:35:53 +01:00
Pol Henarejos
b9bbddd24e
Using separate eps.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-23 17:35:29 +01:00
Pol Henarejos
d6368a221f
Return some SW even if no app is selected.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-23 17:35:02 +01:00
Pol Henarejos
c29f8d6cc5
Migrating to static memory to avoid malloc for new files. Let's see how it works.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-23 12:00:34 +01:00
Pol Henarejos
41b1467ab7
Fix with empty extended length header.
Fix buffer overflow when extended length. APDU shall be reset at every APDU beginning.

Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-23 12:00:04 +01:00
Pol Henarejos
16bd415fb9
Adding sanity checks.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-22 18:26:02 +01:00
Pol Henarejos
173d64dd0e
Finalizing EC key generation and storage.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-22 15:36:32 +01:00
Pol Henarejos
67698eca94
Fixed bug with size of cvc.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-22 14:27:13 +01:00
Pol Henarejos
f97555a8da
Adding ECC storing keygen.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-22 13:22:09 +01:00
Pol Henarejos
a28f217c57
Inner signature of CVC encodes the full certificate body.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-22 00:55:36 +01:00
Pol Henarejos
e1126b5951
In order to announce the public key, the response must be cvc request authenticated.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-22 00:37:02 +01:00
Pol Henarejos
1688ea540e
Fix: FPI containing wrong file length.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-21 16:24:47 +01:00
Pol Henarejos
2a770ee7c9
DKEKS are also initialized.
Signed-off-by: Pol Henarejos <pol.henarejos@cttc.es>
2022-02-21 16:24:32 +01:00