Commit graph

40 commits

Author SHA1 Message Date
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
8ab3a43d6e
Use Error::InternalError less, introduce additional specific error variants. 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
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
Heiko Schaefer
0c86fcb84a
Implement CardBackend/CardTransaction for scdc backend 2022-02-18 16:23:37 +01:00
Heiko Schaefer
5133051626
Rename CardClient -> CardTransaction. 2022-02-18 15:06:31 +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
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
413e8b7d2a
Bump versions for releases. 2021-12-02 18:45:46 +01:00
Heiko Schaefer
1dc178a7b2
Documentation edits. 2021-12-02 18:35:53 +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
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
f5eaa591cb
Add comment to clarify unwrap 2021-11-22 19:11:22 +01:00
Heiko Schaefer
994e10c2d7
Minor restructuring, add some comments. 2021-11-12 19:02:35 +01:00
Heiko Schaefer
c84561d5e8
Clarify SCD command size limitation comment and naming. 2021-11-12 18:53:13 +01:00
Heiko Schaefer
90ae9398ed
Adjust the backend API and interaction with openpgp-card some more. 2021-11-12 18:47:56 +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
bc08ca68ed Releases 2021-10-29 22:51:23 +02:00
Heiko Schaefer
c73a4fa2f8 Adjust card name to the shop's naming. 2021-09-22 16:42:43 +02:00
Heiko Schaefer
0302387bea Releases 2021-09-09 00:48:25 +02:00
Heiko Schaefer
316ca7eb3a Rename error types and re-export them at the crate top level. 2021-09-01 23:59:56 +02:00
Heiko Schaefer
139f3116f2 Document known limitations of scdc 2021-08-27 23:05:58 +02:00
Heiko Schaefer
fadd327e7c Release pcsc, scdc. 2021-08-26 15:05:40 +02:00
Heiko Schaefer
7e03ea5642 Use sequoia-ipc release. 2021-08-26 14:23:14 +02:00
Heiko Schaefer
159af0d98c Explicitly depend on sequoia with branch="main", for the time being 2021-08-25 13:29:45 +02:00
Heiko Schaefer
f28c9c2204 Adjust visibility and add accessors to CardCaps. 2021-08-21 19:02:04 +02:00
Heiko Schaefer
0b0e9c48fc Refactor:
- Move high-level API from openpgp-card to openpgp-card-sequoia
- Move the pcsc backend into the separate crate openpgp-card-pcsc
2021-08-18 14:03:54 +02:00
Heiko Schaefer
f67501d0f9 Lints 2021-08-05 15:16:16 +02:00
Heiko Schaefer
897847cb46 Add a shutdown_scd() function, to explore managing scdaemon. 2021-08-03 23:17:06 +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
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
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
97d4880118 Signing 2021-07-18 12:00:00 +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
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
01126aabdf Support scdaemon as an alternative backend for interaction with OpenPGP cards. 2021-07-16 16:30:56 +02:00