Commit graph

263 commits

Author SHA1 Message Date
Heiko Schaefer
01cc2caafc
openpgp-card-sequoia: rustdoc improvements 2023-09-06 01:47:21 +02:00
Heiko Schaefer
290ca2acd0
openpgp-card-sequoia: add set_user_pin_signing_validity() 2023-09-06 01:28:48 +02:00
Heiko Schaefer
468402364a
openpgp-card-sequoia: rename set_user_interaction_flag to set_touch_policy 2023-09-06 01:28:48 +02:00
Heiko Schaefer
041228a4a2
openpgp-card-sequoia: normalize naming of pin verify fns 2023-09-06 01:28:48 +02:00
Heiko Schaefer
b6fef9511a
openpgp-card-sequoia: handle PINs as &str
According to the spec, PINs are supposed to be handled in utf8 format (not binary)
2023-09-06 01:28:48 +02:00
Heiko Schaefer
f12b052d35
openpgp-card-sequoia: drop security_support_template() in favor of digital_signature_count() 2023-09-06 01:28:48 +02:00
Heiko Schaefer
858d91b1f8
openpgp-card-sequoia: don't do automatic cardholder name encoding, and document this
Normalize fn name: set_name() -> set_cardholder_name().
2023-09-06 01:28:48 +02:00
Heiko Schaefer
21ba1aadbb
openpgp-card-sequoia: rustdoc improvements
(And minor comment notes)
2023-09-06 01:28:47 +02:00
Heiko Schaefer
f7936a75fd
openpgp-card-sequoia: Login Data is a binary field 2023-09-06 01:16:32 +02:00
Heiko Schaefer
1de083e1b8
openpgp-card-sequoia: access ard through getter/setters 2023-09-06 01:16:32 +02:00
Heiko Schaefer
2ef3e1f0a8
openpgp-card-sequoia: rename uif->user_interaction_flag 2023-09-06 01:16:32 +02:00
Heiko Schaefer
736199a8de
openpgp-card-sequoia: move all uif_* getters into uif() 2023-09-06 01:16:32 +02:00
Heiko Schaefer
d55980cef6
openpgp-card-sequoia: add fingerprint, key_generation_time getters with key_type parameter 2023-09-06 01:16:32 +02:00
Heiko Schaefer
8f80020f9c
openpgp-card-sequoia: use immutable fields from openpgp-card::Card 2023-09-06 01:16:32 +02:00
Heiko Schaefer
1681d94710
openpgp-card-sequoia: add set_algorithm() (and remove algorithm setting from generate_key)
Also add set_algorithm_attributes().
2023-09-06 01:16:32 +02:00
Heiko Schaefer
87a9f4f216
bump backend versions
card-backend to 0.2.0,
pcsc and scdc to 0.5.0
2023-09-06 01:16:32 +02:00
Heiko Schaefer
e476103e6d
In select_data(): fold yk_workaround parameter into the openpgp-card business logic 2023-09-06 01:16:32 +02:00
Heiko Schaefer
82662e6d46
openpgp-card: Remove algorithm setting from key generation
Also entirely remove set_algorithm_attributes_simple.
Callers should use AlgoSimple::matching_algorithm_attributes to determine the appropriate AlgorithmAttributes.
2023-09-06 01:16:32 +02:00
Heiko Schaefer
a54b057e00
openpgp-card: Add matching_algorithm_attributes() in AlgoSimple
Gets matching AlgorithmAttributes for the current card.
2023-09-06 01:16:32 +02:00
Heiko Schaefer
423c9d23ee
openpgp-card: add Curve::Unknown variant 2023-09-06 01:16:32 +02:00
Heiko Schaefer
f7f7a1dd3c
openpgp-card: rename AlgoInfo->AlgorithmInformation 2023-09-06 01:16:32 +02:00
Heiko Schaefer
b88caa2471
openpgp-card: rename UIF -> UserInteractionFlag 2023-09-06 01:16:32 +02:00
Heiko Schaefer
2d1bf919d4
openpgp-card: rename Openpgp and OpenpgpTransaction, restructure modules 2023-09-06 01:16:32 +02:00
Heiko Schaefer
e6658713cb
openpgp-card: rename Algo -> AlgorithmAttributes 2023-09-06 01:16:32 +02:00
Heiko Schaefer
308bd804ae
openpgp-card-sequoia: rustdoc 2023-09-06 01:16:32 +02:00
Heiko Schaefer
d3e30d5c4c
openpgp-card-sequoia: re-export Fingerprint 2023-09-06 01:16:32 +02:00
Heiko Schaefer
ccf605f086
openpgp-card-sequoia: make Card<Transaction>::new private 2023-09-06 01:16:31 +02:00
Heiko Schaefer
dcf98c512c
openpgp-card-sequoia: add Card<Admin>::set_pw_status_bytes 2023-09-06 01:16:31 +02:00
Heiko Schaefer
2601e58fe3
openpgp-card-sequoia: rename Card<Admin>::as_open to ::as_transaction 2023-09-06 01:16:31 +02:00
Heiko Schaefer
212e7f335f
openpgp-card-sequoia: Transaction::to_*_card() methods
Allow more ergonomic switching to User/Sign/Admin states by directly providing a PIN, while also allowing a `None` parameter if verification has already happened.
2023-09-06 01:16:31 +02:00
Heiko Schaefer
8d5b1c0563
openpgp-card-example: adjust to card-backend refactor 2023-09-06 01:16:31 +02:00
Heiko Schaefer
7de74d702e
openpgp-card-sequoia: adjust example 2023-09-05 19:08:37 +02:00
Heiko Schaefer
15646bc50b
openpgp-card-sequoia: adjust to card-backend refactor
Note that a `open_by_ident` fn was added here: the backend now doesn't have knowledge of applications (like OpenPGP) anymore, so it can't select a card by OpenPGP card ident anymore.
2023-09-05 19:08:34 +02:00
Heiko Schaefer
0e89c4baa6
Move backend traits to new card-backend crate
- Move CardBackend, CardTransation traits to card-backend
- Break SmartcardErrors out from openpgp-card to card-backend
- CardCaps are (mostly) openpgp-card specific, move them (mostly) to openpgp-card
- Rename pcsc and scdc backend crates: card-backend-pcsc, card-backend-scdc
2023-08-27 22:24:16 +02:00
Heiko Schaefer
bf41ab4316
release openpgp-card 0.3.7, openpgp-card-sequoia 0.1.5 2023-08-19 17:24:12 +02:00
Heiko Schaefer
00345fff2c
openpgp-card-sequoia: expose login_data getter/setter 2023-08-17 12:57:32 +02:00
Heiko Schaefer
5a77950f85
openpgp-card-sequoia: Release 0.1.4 2023-08-16 09:56:01 +02:00
Heiko Schaefer
379a41f4eb
openpgp-card-sequoia: fix dependency on openpgp-card
openpgp-card 0.3.6 is needed for OpenPgp::into_card().
2023-08-16 09:55:33 +02:00
Heiko Schaefer
bf62541b48
openpgp-card-sequoia: Release 0.1.3 2023-08-04 15:09:38 +02:00
Heiko Schaefer
da60687e25
openpgp-card-sequoia: update dependency 2023-08-04 15:09:38 +02:00
Heiko Schaefer
7c42ec4d5e
openpgp-card-sequoia: add Card<Open>::into_card() 2023-08-04 15:09:38 +02:00
Heiko Schaefer
a85d3164d7
openpgp-card-sequoia: Release 0.1.2 2023-04-08 13:52:54 +02:00
Heiko Schaefer
365670041f
openpgp-card-sequoia: fix padding for Curve 25519 private key material.
Importing 25519 keys with leading zero bytes led to failures on at least Gnuk and Nitrokey's opgpcard-rs implementation.

Reported by Wiktor Kwapisiewicz, also see https://codeberg.org/wiktor/broken-nitro
2023-04-08 13:49:01 +02:00
Heiko Schaefer
05dc5af9b5
Release openpgp-card-sequoia 0.1.1 2023-02-14 17:52:34 +01:00
Wiktor Kwapisiewicz
3c3051e31e
openpgp-card-sequoia: Allow disabling default crypto backend.
Previously the list of features of `sequoia-openpgp` unconditionally
included `crypto-nettle`. That was preventing the use of this crate in
pure Rust setups.

This commit allows disabling crypto backends and it is up to the
crate user to explicitly include `sequoia_openpgp` features that they
want.

See: https://gitlab.com/sequoia-pgp/sequoia/-/blob/main/README.md#note
2023-02-14 16:21:29 +01:00
Wiktor Kwapisiewicz
5bd73d81fc
Replace nettle with pure-rust RSA for conversions
Fixes: https://gitlab.com/openpgp-card/openpgp-card/-/issues/66
2023-02-10 12:52:47 +01:00
Wiktor Kwapisiewicz
c80e549cc4
Add test for verifying SqRSA conversions 2023-02-10 12:24:51 +01:00
Wiktor Kwapisiewicz
c81f3ba6a9 Fix clippy warnings: remove explicit lifetime and unneeded Deref impl 2023-02-02 09:26:21 +01:00
Wiktor Kwapisiewicz
4510c34cdc Fix clippy lints: directly use variables in format! strings
The source has been reformatted using `cargo +nightly fmt`.
2023-02-02 09:09:47 +01:00
Heiko Schaefer
f40f2ffbfb
clippy: new lints 2022-12-25 13:50:19 +01:00