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 |
|
Heiko Schaefer
|
c85d006887
|
Support ECDSA signatures
|
2021-07-18 21:12:22 +02:00 |
|
Heiko Schaefer
|
97d4880118
|
Signing
|
2021-07-18 12:00:00 +02:00 |
|
Heiko Schaefer
|
aef6c781ed
|
Lint
|
2021-07-17 03:10:56 +02:00 |
|
Heiko Schaefer
|
7590b4f06b
|
Depend on sequoia-ipc from sequoia git main (for assuan::Client)
|
2021-07-17 02:39:42 +02:00 |
|
Heiko Schaefer
|
fa0c5a7faf
|
Fix reuse license information
|
2021-07-17 02:27:51 +02:00 |
|
Heiko Schaefer
|
5af213562b
|
Add decryption to card-functionality tests.
|
2021-07-17 02:24:43 +02:00 |
|
Heiko Schaefer
|
1bd1326a2b
|
For now: depend on sequoia-ipc from the branch where assuan::Client is Send+Sync
|
2021-07-16 18:52:43 +02:00 |
|
Heiko Schaefer
|
f59a8a948c
|
Remove unused imports; Lints.
|
2021-07-16 18:44:59 +02:00 |
|
Heiko Schaefer
|
77e32e02c2
|
Add the crate card-functionality, which implements a test suite to test the openpgp-card crate against a set of OpenPGP cards
|
2021-07-16 17:26:10 +02:00 |
|
Heiko Schaefer
|
4b7b4a2ab6
|
Use ScdClient::open_scdc_by_serial() in test code.
|
2021-07-16 17:24:53 +02:00 |
|
Heiko Schaefer
|
e34285dc68
|
Add helper fn vka_as_uploadable_key()
|
2021-07-16 17:23:47 +02:00 |
|
Heiko Schaefer
|
0fffb0c91b
|
Refactor for multiple card backends
|
2021-07-16 17:15:21 +02:00 |
|
Heiko Schaefer
|
610478695f
|
Bugfix in interpreting Sex value
|
2021-07-16 16:46:34 +02:00 |
|
Heiko Schaefer
|
c8a742e8d0
|
Imports cleanup; comment
|
2021-07-16 16:45:57 +02:00 |
|
Heiko Schaefer
|
1c15e61fb4
|
Add get_key_generation_times()
|
2021-07-16 16:39:02 +02:00 |
|
Heiko Schaefer
|
da51f27173
|
Simplify code.
|
2021-07-16 16:31:14 +02:00 |
|
Heiko Schaefer
|
01126aabdf
|
Support scdaemon as an alternative backend for interaction with OpenPGP cards.
|
2021-07-16 16:30:56 +02:00 |
|
Heiko Schaefer
|
b8bd87bd7e
|
Remove Arc<Mutex<>> attempts, rely on assuan::Client now being Send+Sync
|
2021-07-16 14:15:03 +02:00 |
|
Heiko Schaefer
|
68cad4c147
|
Implement ScdClient::open_scdc_by_serial() to open a specific card through scdaemon
|
2021-07-15 13:22:33 +02:00 |
|
Heiko Schaefer
|
32dbecbda2
|
Test code for key uploading
|
2021-07-15 13:13:56 +02:00 |
|
Heiko Schaefer
|
ec8c15cab3
|
Add conversion implementations
|
2021-07-14 22:31:00 +02:00 |
|
Heiko Schaefer
|
c445757633
|
Implement get_key_generation_times()
|
2021-07-14 21:59:33 +02:00 |
|
Heiko Schaefer
|
7afe2f52c2
|
Refactor card initialisation
|
2021-07-14 18:03:07 +02:00 |
|
Heiko Schaefer
|
38fb6bd970
|
Add a helper method to construct a CardUploadableKey from a ValidErasedKeyAmalgamation
|
2021-07-14 18:02:11 +02:00 |
|
Heiko Schaefer
|
42c4f14d57
|
- Add documentation
- Add placeholders for more tests
|
2021-07-14 02:09:35 +02:00 |
|
Heiko Schaefer
|
499e128b4e
|
Minimize the output data: assert data that is always expected - only return Status bytes that diverge between cards.
Added a test that sets and checks name, lang, sex, url data.
|
2021-07-14 00:06:30 +02:00 |
|
Heiko Schaefer
|
6c7ce6228c
|
Fix mistake in mapping of u8 value to Sex
|
2021-07-13 22:27:44 +02:00 |
|
Heiko Schaefer
|
6601d2d09b
|
- return data from tests in a Vec
- run a test on a set of cards
|
2021-07-13 20:38:27 +02:00 |
|
Heiko Schaefer
|
3bba67fbcc
|
First draft of low-level card functionality testing
|
2021-07-13 00:09:50 +02:00 |
|
Heiko Schaefer
|
31e577c896
|
Refactoring low level API for card-functionality tests
|
2021-07-13 00:08:45 +02:00 |
|
Heiko Schaefer
|
89745c0268
|
Experiment: wrap Arc<Mutex<CardSign>> in CardSigner
|
2021-07-12 13:54:59 +02:00 |
|
Heiko Schaefer
|
3872b585d8
|
Add SPDX copyright headers
|
2021-07-12 12:25:58 +02:00 |
|
Heiko Schaefer
|
de0645ef0e
|
refactor opening of cards
|
2021-07-12 12:15:31 +02:00 |
|
Heiko Schaefer
|
1187e816d0
|
Cleanup
|
2021-07-11 17:36:11 +02:00 |
|
Heiko Schaefer
|
2343bd8310
|
Initial scdc experimentation.
|
2021-07-10 22:08:36 +02:00 |
|
Heiko Schaefer
|
8e3c6c0046
|
Add an abstraction layer (CardClient) for access to the card, in preparation for scdaemon client mode.
|
2021-07-09 20:37:52 +02:00 |
|
Heiko Schaefer
|
efe88e3582
|
Don't expect data in the response to SELECT.
|
2021-07-07 00:30:31 +02:00 |
|
Heiko Schaefer
|
d1531de4f7
|
Break out low-level OpenPGP card functionality into card_app.rs
This split makes it possible to write tests based on the low-level API to explore the behaviour of cards in detail.
|
2021-07-05 21:18:34 +02:00 |
|
Heiko Schaefer
|
dc89010869
|
Re-format comment
|
2021-07-05 11:48:34 +02:00 |
|