Commit graph

501 commits

Author SHA1 Message Date
Heiko Schaefer
f24bcfa8f8
Disable cache for reuse lint 2022-03-18 13:53:59 +01:00
Heiko Schaefer
4656394112
Move printing of ssh information into its own command 2022-03-18 12:38:15 +01:00
Heiko Schaefer
0b4a18b136
Fix clippy lints 2022-03-06 16:15:13 +01:00
Heiko Schaefer
b16d657070
Add clippy to CI 2022-03-06 15:20:37 +01:00
Heiko Schaefer
0d2bf91676
Upgrade to clap 3.1 2022-03-06 15:19:56 +01:00
Heiko Schaefer
1d33870aa6
openpgp-card 0.2.1 release 2022-02-28 11:08:15 +01:00
Heiko Schaefer
421e4d155f
Make OpenPgp "Send + Sync" 2022-02-28 11:06:00 +01:00
Heiko Schaefer
326ba895a9
Print language setting(s) in display format 2022-02-25 18:56:37 +01:00
Heiko Schaefer
af0410191e
Implement Display for Lang 2022-02-25 18:56:37 +01:00
Heiko Schaefer
8d09289d48
Document that scdc doesn't implement transaction guarantees. 2022-02-25 11:14:08 +01:00
Heiko Schaefer
a8637f48b1
Bump versions 2022-02-24 21:25:47 +01:00
Heiko Schaefer
56d03ffca6
Drop use of "anyhow". 2022-02-24 21:25:47 +01:00
Heiko Schaefer
986094fac8
Update/improve crate level documentation. 2022-02-24 21:25:47 +01:00
Heiko Schaefer
e9235164c8
Rename PIN-related functions for clarity 2022-02-24 21:25:47 +01:00
Heiko Schaefer
8ab3a43d6e
Use Error::InternalError less, introduce additional specific error variants. 2022-02-24 21:25:47 +01:00
Heiko Schaefer
088bb88a02
Consistently model pin as &[u8] in openpgp-card.
Fixes #22
2022-02-24 21:25:47 +01:00
Heiko Schaefer
96167f6530
Move OpenPGP card functionality into OpenPgp/OpenPgpTransaction.
This separates backend access (implemented in CardBackend and CardTransaction) from OpenPGP card operations.

Fixes #7
2022-02-24 21:25:47 +01:00
Heiko Schaefer
16b1b5136c
Use pcsc symbols in fully qualified syntax, for clarity 2022-02-24 21:25:47 +01:00
Heiko Schaefer
074bab321e
Add notes that "check_pw1 causes the error counter to decrease" (see #23) on some cards 2022-02-24 21:25:47 +01:00
Heiko Schaefer
12a6a77b8d
CardTransaction::method should not return a Response. Most don't have a return value, the rest should return Vec<u8> instead.
Fixes #19
2022-02-24 21:25:47 +01:00
Heiko Schaefer
636813279b
Reformatted to conform to vanilla rustfmt. 2022-02-24 21:25:47 +01:00
Heiko Schaefer
907c13418d
remove .rustfmt.toml to revert to rustfmt defaults 2022-02-24 21:25:47 +01:00
Neal H. Walfield
c4119ae77f
For CardBackend and CardTransaction, implement T for Box<T>
- Allow a Box<dyn CardBackend> to be used in all contexts where a
    type that implements CardBackend can be used.

  - Likewise for CardTransaction.
2022-02-18 17:45:09 +01:00
Neal H. Walfield
ff1dac427c
Don't implement From<T> for Box<dyn T>.
- This is usually unnecessary.
2022-02-18 17:44:07 +01:00
Neal H. Walfield
64119c4f29
Where possible, avoid unnecessary boxing. 2022-02-18 17:43:29 +01:00
Heiko Schaefer
0c86fcb84a
Implement CardBackend/CardTransaction for scdc backend 2022-02-18 16:23:37 +01:00
Heiko Schaefer
1496da6dd5
Rename pcsc::PcscCard -> pcsc::PcscBackend, pcsc::TxClient -> pcsc::PcscTransaction 2022-02-18 15:58:12 +01:00
Heiko Schaefer
282b16fdba
Cleanup: move ?Sized bounds to "where". 2022-02-18 15:09:33 +01:00
Heiko Schaefer
265587252a
lints 2022-02-18 15:06:31 +01:00
Heiko Schaefer
e01c79e857
Tweak ergonomics of openpgp-card-pcsc usage and simplify client code. 2022-02-18 15:06:31 +01:00
Heiko Schaefer
635fa0e6ac
Remove gratuitous fn from public API 2022-02-18 15:06:31 +01:00
Heiko Schaefer
09c47e4acd
Update to sshkeys 0.3.2, adjust to API changes. 2022-02-18 15:06:31 +01:00
Heiko Schaefer
c23f23c619
Introduce the new CardBackend trait.
A CardBackend represents a card without an open transaction (a CardTransaction implementation can be acquired from a CardBackend).
2022-02-18 15:06:31 +01:00
Heiko Schaefer
5133051626
Rename CardClient -> CardTransaction. 2022-02-18 15:06:31 +01:00
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