Commit graph

417 commits

Author SHA1 Message Date
Heiko Schaefer
5b2979874b
Implement methods on the CardClient trait rather than on dyn CardClient.
This patch is largely based on input and an MR by @nwalfield.
2022-02-18 15:06:31 +01:00
Heiko Schaefer
05d5af4c3c
Set timeout for hw-keygen to 2h.
Generating keys on cards takes a long time, the default 1h is sometimes just barely enough for all currently tested cards, but not always.
2022-02-17 09:54:22 +01:00
Heiko Schaefer
06ad7772a6
Remove remnants of card_app. 2022-02-16 18:21:49 +01:00
Heiko Schaefer
a276c1fcd0
Clean up log output. 2022-02-16 18:09:21 +01:00
Heiko Schaefer
f1f4533332
Remove TxClient::tx() from API; clean up uses. 2022-02-16 17:46:26 +01:00
Heiko Schaefer
dcf73bd86d
More explicit data type Lang for language. 2022-02-16 10:02:35 +01:00
Heiko Schaefer
889eedbb79
Remove cardholder_certificate from the public CardClient API, for now (until we learn of actual use cases for this part of the spec). 2022-02-15 16:07:05 +01:00
Heiko Schaefer
574d7be765
Use byte-array data types for url, name, lang in openpgp-card. 2022-02-15 15:34:52 +01:00
Heiko Schaefer
80af7000e0
Use newly published pcsc 2.7 (instead of git) 2022-02-15 15:34:52 +01:00
Heiko Schaefer
0e94871189
Implement PcscCard::transaction() to replace the transaction!() macro.
(This currently requires unreleased pcsc from git)
2022-02-15 15:34:52 +01:00
Heiko Schaefer
50d8b89fd2
Break from macro 2022-02-15 10:53:46 +01:00
Heiko Schaefer
87788e8912
rename get_txc!() -> transaction!() 2022-02-15 10:53:46 +01:00
Heiko Schaefer
bdde317a2d
Simplify optional $reselect parameter in get_txc!() 2022-02-15 10:53:46 +01:00
Heiko Schaefer
984aa219bf
Print the auth key in ssh public key format, in the "status" output. 2022-02-15 10:53:46 +01:00
Heiko Schaefer
8a759f01f5
Try opening cards three times before failing 2022-02-15 10:53:46 +01:00
Heiko Schaefer
c53cf33137
more debug output 2022-02-15 10:53:46 +01:00
Heiko Schaefer
7573361836
Make ShareMode an optional parameter when opening cards via pcsc. 2022-02-15 10:53:46 +01:00
Heiko Schaefer
e92cad5b6a
Adjust openpgp-card-examples to changed openpgp-card API 2022-02-15 10:53:45 +01:00
Heiko Schaefer
36b9fb2770
get_txc!() now assumes the OpenPGP application should be re-selected, by default 2022-02-15 10:49:55 +01:00
Heiko Schaefer
6100ec4318
Adjust tools to changed openpgp-card API 2022-02-15 10:49:54 +01:00
Heiko Schaefer
376072910e
Adjust openpgp-card-sequoia to changed openpgp-card API 2022-02-15 10:49:42 +01:00
Heiko Schaefer
1b1f6bc2df
Adjust documentation 2022-02-14 17:50:42 +01:00
Heiko Schaefer
53f637e0a1
Change transaction-starting macro to consume a PcscCard and produce a TxClient.
Rename: start_tx!->get_txc!.
2022-02-14 17:50:42 +01:00
Heiko Schaefer
53c8609f05
Remove unused imports 2022-02-14 17:46:16 +01:00
Heiko Schaefer
30341d6c4b
Rename: PcscClient->PcscCard,PcscTxClient->TxClient 2022-02-14 17:46:16 +01:00
Heiko Schaefer
431da53b28
Don't implement CardClient for PcscClient (users should always use transactions) 2022-02-14 17:46:16 +01:00
Heiko Schaefer
2480745088
Move implementation of low-level OpenPGP functionality from CardApp to CardClient. 2022-02-14 17:46:16 +01:00
Heiko Schaefer
111f9e9631
Adjust to openpgp-card 0.2 API 2022-02-14 17:46:16 +01:00
Heiko Schaefer
405a2a1fc1
Don't fail when a card errors on "get DO ARD", we could still find the card we're looking for 2022-02-14 17:46:16 +01:00
Heiko Schaefer
e9ecfea4cf
Debug print card "status" before reading ARD 2022-02-14 17:46:16 +01:00
Heiko Schaefer
c43b53d210
Add $reselect parameter to start_tx! that specifies if the card should be re-selected if it was reset 2022-02-14 17:43:07 +01:00
Heiko Schaefer
f4eaca229d
Copy card_caps information from PcscClient to PcscTxClient, if any 2022-02-14 17:43:07 +01:00
Heiko Schaefer
b6b2957580
Naming; cleanup; logging for pcsc::initialize_card() 2022-02-14 17:43:07 +01:00
Heiko Schaefer
514d055c90
Run each test in a PCSC Transaction.
(Disabled scdc support in the tests, for now)
2022-02-14 17:43:07 +01:00
Heiko Schaefer
5e7fcd079b
Change CardApp API: take &mut CardClient parameter for all calls (instead of owning a CardClientBox).
This way, clients can exert control over the state of the CardClient, e.g. to combine CardApp operations in a PCSC transaction.
2022-02-14 17:43:07 +01:00
Heiko Schaefer
b367043a12
Implement a macro "start_tx!" for DRY transaction starting 2022-02-14 17:43:07 +01:00
Heiko Schaefer
748c334403
Implement TxClient to use pcsc with transactions (transaction opening code is duplicated) 2022-02-14 17:43:07 +01:00
Heiko Schaefer
0baf36df67
Restructure cards() and open_by_ident(); Add debug logging 2022-02-14 16:37:20 +01:00
Heiko Schaefer
2c3bc492ab
expect to find a running, shared pcscd instance (passed in from the runner VM) 2022-02-14 16:16:46 +01:00
Heiko Schaefer
f212822ccc
Set RUST_LOG=debug in cookiejar CI. 2022-02-14 15:42:14 +01:00
Heiko Schaefer
476f46dacc
Simplify get_data() by splitting it into a one-byte- and two-byte-tag variant. 2022-02-09 13:34:43 +01:00
Heiko Schaefer
8a899afb9d
Fix/clean up limitation of data length. 2022-02-09 12:50:42 +01:00
Heiko Schaefer
40f279684e
workaround and test for "ledger nano s" quirks 2022-02-08 12:28:17 +01:00
Heiko Schaefer
9cdc699745
Fix for key generation: signing subkey was processed as a decryption subkey by mistake (this broke generation of 25519 keys) 2022-02-04 14:48:40 +01:00
Heiko Schaefer
5e0007c7fd
Add FIXME for construction of EdDSA public keys from a card 2022-01-27 16:10:02 +01:00
Heiko Schaefer
65e192d728
Clean up warnings 2022-01-07 13:18:36 +01:00
Heiko Schaefer
29c7d5c550
Fix RSA keygen parameters in the example config (e bitsize has been removed in 9984aca5b9) 2021-12-30 18:18:03 +01:00
Heiko Schaefer
28e4200090
Make pcsc usage less platform specific. 2021-12-30 17:37:44 +01:00
Heiko Schaefer
873f2ed910
Rename card-functionality example config, and add config/*toml to .gitignore, to adjust to the new option of individual config files per card. 2021-12-26 11:49:51 +01:00
Heiko Schaefer
9a3b47f0fa
Get pcsc card via PcscClient::open_by_ident(), instead of manually filtering it from a list of all cards. 2021-12-24 11:39:54 +01:00