Commit graph

150 commits

Author SHA1 Message Date
Neal H. Walfield
64119c4f29
Where possible, avoid unnecessary boxing. 2022-02-18 17:43:29 +01:00
Heiko Schaefer
1496da6dd5
Rename pcsc::PcscCard -> pcsc::PcscBackend, pcsc::TxClient -> pcsc::PcscTransaction 2022-02-18 15:58:12 +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
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
dcf73bd86d
More explicit data type Lang for language. 2022-02-16 10:02:35 +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
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
87788e8912
rename get_txc!() -> transaction!() 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
7573361836
Make ShareMode an optional parameter when opening cards via pcsc. 2022-02-15 10:53:46 +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
30341d6c4b
Rename: PcscClient->PcscCard,PcscTxClient->TxClient 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
b367043a12
Implement a macro "start_tx!" for DRY transaction starting 2022-02-14 17:43:07 +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
bba1c264dd
release openpgp-card-sequoia 0.0.7 2021-12-12 01:36:50 +01:00
Heiko Schaefer
383f592865
Don't apply Policy when picking (sub)key from Cert for sign/decrypt. 2021-12-11 23:36:36 +01:00
Heiko Schaefer
c643397989
Update openpgp-card-sequoia dependency version. 2021-12-02 18:59:37 +01:00
Heiko Schaefer
413e8b7d2a
Bump versions for releases. 2021-12-02 18:45:46 +01:00
Heiko Schaefer
e5b7f0c914
Document usage with a cardreader that has a pinpad. 2021-12-02 18:45:08 +01:00
Heiko Schaefer
b127046bd3
Simplify gen_subkeys() now that AlgoSimple has simple, unambiguous values for RSA. 2021-12-02 14:08:17 +01:00
Heiko Schaefer
9739074b63
Minor error handling/messaging cleanups. 2021-12-01 22:23:22 +01:00
Heiko Schaefer
ecd862e23f
Remove "get_" prefix from getter function names (to better conform with Rust API Guidelines https://rust-lang.github.io/api-guidelines). 2021-12-01 19:11:22 +01:00
Heiko Schaefer
c4fcafc25b
Slightly change format of status output for keys. 2021-11-30 23:59:17 +01:00
Heiko Schaefer
2709b4ad39
Implement pinpad feature detection and pinpad support for verify/modify (of pw1 and pw3) in pcsc backend.
Extend CardCaps to contain pw1_max_len and pw3_max_len (and initialize these values from ARD).

Add pinpad_verify(), pinpad_modify(), feature_verify()/feature_modify() to CardClient API.
Expose in card_app (and openpgp-card-sequoia card API).

Adjust opgpcard, opgpcard-pin to ue pinpad reader when available.
2021-11-30 22:51:18 +01:00
Heiko Schaefer
9e9cddc225
Implement setting of 'identity' for NitroKey Start. 2021-11-29 18:33:23 +01:00
Heiko Schaefer
9de79477b9
Implement get_firmware_version (probably YubiKey specific) 2021-11-23 20:38:46 +01:00
Heiko Schaefer
af673f537c
Adjust error handling in CardSigner and CardDecryptor (for better error messages in tools, such as opgpcard).
Refactor sq_utils, rename some fn for clarity.
2021-11-21 15:21:43 +01:00
Heiko Schaefer
a24db398b6
Print PublicKeyMaterial for "status --verbose". 2021-11-16 19:19:29 +01:00
Heiko Schaefer
7a71f88eb6
Rename Open::open() to Open::new() 2021-11-11 16:40:08 +01:00
Heiko Schaefer
d55985807c
Change the API for interactions between openpgp-card and backends.
The goal of this change is a cleaner structure, and in particular to make it the default for client-code to obtain a CardApp with pre-initialized "capabilities" (that is, init_caps() gets called implicitely).
2021-11-11 16:40:08 +01:00
Heiko Schaefer
22bbf77707
Add examples for passing PINs via file-descriptors.
Change the example card ident so that the serial number doesn't look like the default admin PIN.
2021-11-06 12:36:59 +01:00
Heiko Schaefer
9955c9e1be
Normalize PIN-Parameters in opgpcard.
"-P" is now always the admin pin file, while "-p" is the user pin file.
2021-11-06 11:59:58 +01:00
Heiko Schaefer
8d31ee80db
Document that $HOME/.cargo/bin needs to be added to PATH 2021-11-05 23:40:07 +01:00
Heiko Schaefer
2085fdc66d
Release tools 2021-11-05 23:14:48 +01:00
Heiko Schaefer
1a37b437e2
Releases 2021-11-05 23:07:48 +01:00
Heiko Schaefer
f82cc6ae2a
Add documentation on installing. 2021-11-05 22:57:10 +01:00
Heiko Schaefer
cda224d738
Add more logic to key generation 2021-11-05 22:56:23 +01:00
Heiko Schaefer
02401d12f4 Initial parts of key generation. 2021-11-05 13:34:14 +01:00
Heiko Schaefer
8674b0e65c Refactor "Open" to use a borrowed CardApp (instead of owning the CardApp). 2021-11-05 13:34:14 +01:00
Heiko Schaefer
8dd83b6c55 Extend comment 2021-11-05 13:34:14 +01:00
Heiko Schaefer
308e8bfabd enable env_logger 2021-11-03 02:24:59 +01:00
Heiko Schaefer
921e0d22d9 Add some more user facing output.
(Including for the case when a card doesn't allow a user password change when no key material exists on the card, which is a particular policy of Gnuk cards)
2021-10-30 01:25:08 +02:00
Heiko Schaefer
bc08ca68ed Releases 2021-10-29 22:51:23 +02:00
Heiko Schaefer
59d77f584d Add openpgp-card-tools crate 2021-10-29 22:38:01 +02:00