Heiko Schaefer
|
f1add02672
|
Lint fix
|
2021-08-13 20:02:53 +02:00 |
|
Heiko Schaefer
|
df4b4bdabb
|
Fix: set_fingerprint doesn't expect a reply (failed on FLOSS Card 3.4, after refactoring set_fingerprint)
|
2021-08-13 20:02:53 +02:00 |
|
Heiko Schaefer
|
a0370c5c53
|
WIP: more testing in the context of on-card key generation.
In particular, add a decryption test.
|
2021-08-13 20:02:53 +02:00 |
|
Heiko Schaefer
|
6904551c7d
|
Set key flags while generating a Cert from card information.
|
2021-08-13 20:02:53 +02:00 |
|
Heiko Schaefer
|
e9f1256309
|
Remove/adjust debug prints
|
2021-08-13 20:02:53 +02:00 |
|
Heiko Schaefer
|
ca5dd61001
|
Assemble information from the card into a Cert.
Still a WIP (this code serves in part to explore handling of Certs for cards).
|
2021-08-13 20:02:53 +02:00 |
|
Heiko Schaefer
|
9e5bb9b5a6
|
Make CardSigner accessible (for use in card-functionality crate)
|
2021-08-13 20:02:53 +02:00 |
|
Heiko Schaefer
|
27b6d686d9
|
Refactor card-functionality crate, tentatively breaking tests into groups.
|
2021-08-13 20:02:53 +02:00 |
|
Heiko Schaefer
|
44d5abd7ed
|
WIP: Handling of public key material from cards
|
2021-08-13 20:02:53 +02:00 |
|
Heiko Schaefer
|
3edadb8607
|
Add a "test" fn that prints algorithm information for cards.
|
2021-08-13 20:02:53 +02:00 |
|
Heiko Schaefer
|
608e6533a6
|
Move 'Algo' and related data structures to lib.rs.
Implement the Display trait on Algo and AlgoInfo, for compact printing.
|
2021-08-13 20:02:53 +02:00 |
|
Heiko Schaefer
|
99be1fb7da
|
Cleanup field naming in EccAttrs: t->ecc_type.
|
2021-08-08 09:38:46 +02:00 |
|
Heiko Schaefer
|
a0d92d2dc4
|
Refactor: add a set_fingerprint() method to CardApp.
Use that method instead of manually calling the apdu command.
Change type of fingerprint in CardUploadableKey to [u8; 20].
|
2021-08-07 19:27:24 +02:00 |
|
Heiko Schaefer
|
260c38ef25
|
Adjust tests to changes in Algo struct
|
2021-08-07 18:24:37 +02:00 |
|
Heiko Schaefer
|
8bc7ffd940
|
Refactor code for set_algorithm_attributes()
- Move algorithm attribute setting out from key import code
- Simplify Algo struct
|
2021-08-07 17:44:35 +02:00 |
|
Heiko Schaefer
|
5e0ee12e17
|
Simplify unwrapping Error
|
2021-08-07 17:15:22 +02:00 |
|
Heiko Schaefer
|
d9a25c23c9
|
Remove printlns
|
2021-08-07 00:54:01 +02:00 |
|
Heiko Schaefer
|
feb6f7be51
|
Implement get_pub_key()
|
2021-08-07 00:18:13 +02:00 |
|
Heiko Schaefer
|
7acc1deb98
|
- Implement key generation (without specifying an algorithm so the current algo is used. only supports RSA for now)
- Refactor: rename key_upload.rs -> keys.rs
- Fix handling of key timestamps
|
2021-08-06 20:14:02 +02:00 |
|
Heiko Schaefer
|
538bfb51d4
|
Sort imports.
|
2021-08-06 16:44:48 +02:00 |
|
Heiko Schaefer
|
f42596f2f5
|
Handle key import when a card doesn't support the "Algorithm Information" command.
|
2021-08-05 21:10:18 +02:00 |
|
Heiko Schaefer
|
3effe39aa1
|
Moved handling of cards and configuration of cards for testing to cards.rs
|
2021-08-05 15:31:14 +02:00 |
|
Heiko Schaefer
|
f67501d0f9
|
Lints
|
2021-08-05 15:16:16 +02:00 |
|
Heiko Schaefer
|
7541b2f493
|
Expand documentation in example config file, reformat config.
|
2021-08-04 22:29:55 +02:00 |
|
Heiko Schaefer
|
d2c4152595
|
Move the configuration of cards for card-functionality test suite into the file config/test-cards.toml .
Add an example for this config file in `config/test-cards-example.toml`.
Add handling for this toml configuration.
|
2021-08-04 19:15:45 +02:00 |
|
Heiko Schaefer
|
1af3a4b5ee
|
Explore shutting down scdaemon when accessing cards via pcsc.
|
2021-08-03 23:18:19 +02:00 |
|
Heiko Schaefer
|
897847cb46
|
Add a shutdown_scd() function, to explore managing scdaemon.
|
2021-08-03 23:17:06 +02:00 |
|
Heiko Schaefer
|
833cdbc238
|
Adjust to new ScdClient API, socket is not needed anymore.
|
2021-08-03 18:23:47 +02:00 |
|
Heiko Schaefer
|
d5b1b2daa3
|
Adjust to new ScdClient API, socket is not needed anymore.
|
2021-08-03 17:46:55 +02:00 |
|
Heiko Schaefer
|
f46d94f989
|
Communicate with scdaemon via gpg-agent (this removes the need for a "socket" parameter)
|
2021-08-03 17:46:13 +02:00 |
|
Heiko Schaefer
|
caffc8a20c
|
Import cleanup
|
2021-08-03 15:34:09 +02:00 |
|
Heiko Schaefer
|
083db2a8be
|
Adjust to changed ScdClient API
|
2021-08-03 15:32:48 +02:00 |
|
Heiko Schaefer
|
c9e7f1b0aa
|
Some cleanup/documentation.
ScdClient now produces the lower level CardClientBox objects (instead of CardBase)
|
2021-08-03 15:31:40 +02:00 |
|
Heiko Schaefer
|
744d0e1aac
|
Improve phrasing of description
|
2021-08-03 10:21:21 +02:00 |
|
Heiko Schaefer
|
595bf3cf4d
|
Lints
|
2021-07-29 18:35:25 +02:00 |
|
Heiko Schaefer
|
420550ce75
|
Print the underlying error when a key upload fails
|
2021-07-29 18:35:25 +02:00 |
|
Heiko Schaefer
|
396ce9d8c6
|
Add a "test" that prints historical bytes, extended capabilities and extended length information.
(This is used for debugging during development, not as an actual test)
|
2021-07-29 18:35:25 +02:00 |
|
Heiko Schaefer
|
d67c01c9f6
|
Adjust to CardClient API changes
|
2021-07-29 18:35:25 +02:00 |
|
Heiko Schaefer
|
ff65d200ec
|
Improve scdaemon client backend:
- Use "--exlen" SCD parameter for extended length commands.
- Deal with Assuan line length limitations.
- Add a CardCaps to ScdClient.
|
2021-07-29 18:35:25 +02:00 |
|
Heiko Schaefer
|
56f4459932
|
When the card doesn't support command chaining, throw CommandTooLong error if the command is too long.
(This currently happens with the scdc backend when uploading rsa4096 keys, because scdc additionally limits command size)
|
2021-07-29 18:35:25 +02:00 |
|
Heiko Schaefer
|
dbf2e9e3fb
|
A CardClient instance can now contain a CardCaps (which specifies how commands should be sent to the card).
Add max_rsp_bytes field to CardCaps.
|
2021-07-29 18:35:25 +02:00 |
|
Heiko Schaefer
|
9d93570d9f
|
Add comment pointing to Gnuk source for decryption return format.
|
2021-07-29 17:33:30 +02:00 |
|
Heiko Schaefer
|
ee6b45477e
|
Clean up output format
|
2021-07-21 01:48:53 +02:00 |
|
Heiko Schaefer
|
3ed3c5c33f
|
Cleanup comment
|
2021-07-20 20:35:43 +02:00 |
|
Heiko Schaefer
|
03e07ef2d0
|
clippy lint
|
2021-07-20 20:30:14 +02:00 |
|
Heiko Schaefer
|
c789c90b9e
|
- more explicit error handling
- add abstraction for types of card
|
2021-07-20 20:30:14 +02:00 |
|
Heiko Schaefer
|
6c563b230b
|
Handle Gnuk's return format for NistP256 decryption
|
2021-07-20 17:38:15 +02:00 |
|
Heiko Schaefer
|
2b221fa76b
|
Truncate digest length for ECDSA.
This fixes signing for nistp256 keys with Gnuk (Gnuk expects a 32 byte hash for nistp256)
|
2021-07-19 14:18:09 +02:00 |
|
Heiko Schaefer
|
b47b7930f0
|
Add 25519 and NIST256/521 keys to the set of tests.
|
2021-07-18 21:41:03 +02:00 |
|
Heiko Schaefer
|
50295fdc84
|
Add more test keys and encrypted test-messages.
|
2021-07-18 21:30:32 +02:00 |
|