Commit graph

676 commits

Author SHA1 Message Date
Lars Wirzenius
dd0b74c43b versioned_output.rs: add scaffolding for versioned JSON
JSON and other structured output needs to be versioned so that
consumers can rely on it long term. Add a module for specifying output
format and version, as well as traits for implementing things. This
doesn't do anything on its own, but future changes will build on it.

Sponsored-by: NLnet Foundation; NGI Assure
2022-10-24 19:33:21 +03:00
Lars Wirzenius
326aa23dba tools/Cargo.toml: add dependencies for upcoming changes
These dependencies aren't used yet, but are added in preparation for
upcoming changes.

Sponsored-by: NLnet Foundation; NGI Assure
2022-10-24 19:33:21 +03:00
Lars Wirzenius
9e4f57f191 deny.toml: allow the Subplot license
We will be using Subplot (https://subplot.tech/) for integration
tests. Allow its licence.

Sponsored-by: NLnet Foundation; NGI Assure
2022-10-24 19:05:24 +03:00
Lars Wirzenius
264a5a7c90 .gitlab-ci.yml: use container with virtual smartcard for tests
This doesn't change anything for existing tests but allows testing
opgpcard against a virtual smartcard later on.

Sponsored-by: NLnet Foundation; NGI Assure
2022-10-24 19:05:24 +03:00
Heiko
86c3be6c8b Merge branch 'nora/ci' into 'main'
Do not run the hardware tests on forks.

See merge request openpgp-card/openpgp-card!10
2022-10-24 12:32:02 +00:00
puzzlewolf
28b0956916 Do not run the hardware tests on forks.
- Forks of this project do not have access to cookiejar's hardware
    keys. They do not have a gitlab CI runner that can pick up those
    jobs, so the pipeline eventually fails with a timeout.

  - Prevent hardware related jobs from being created for forked
    projects.
2022-10-24 13:30:40 +02:00
Heiko Schaefer
e09fc63d56
Use simplified start script for all virtual cards. 2022-10-21 18:07:25 +02:00
Heiko Schaefer
0d978f8dcb
card-functionality: use virtual 'opcard-rs' card in CI 2022-10-21 18:07:24 +02:00
Heiko Schaefer
4181c2d66c
Clean up error handing for unexpected length of 'Digital signature counter' DO 2022-10-17 15:15:11 +02:00
Heiko Schaefer
cf04d1d3a1
Make version requirement explicit 2022-10-01 15:53:36 +02:00
Heiko Schaefer
4dfaadc5ad
Release openpgp-card 0.3.2 2022-10-01 15:39:08 +02:00
Heiko Schaefer
35f6240608
Bump versions.
This fixes a mistake with the openpgp-card-pcsc 0.2.2 release: openpgp-card-pcsc 0.2.2 depends on openpgp-card 0.3. However, this results in an (accidental) semver break, because openpgp-card-pcsc exposes parts of the openpgp-card API.
See https://gitlab.com/openpgp-card/openpgp-card/-/issues/41
2022-10-01 15:36:17 +02:00
Heiko
aa754dfcc1 Merge branch 'feature-mse' into 'main'
Implement support for the MANAGE SECURITY ENVIRONMENT command

See merge request openpgp-card/openpgp-card!8
2022-09-30 13:56:38 +00:00
Sosthène Guédon
0c7fae8ef9
openpgp-card-sequoia: Implement MANAGE SECURITY ENVIRONMENT command 2022-09-30 14:24:39 +02:00
Sosthène Guédon
3ca6a514f4
openpgp-card: Add manage security environment command 2022-09-30 14:24:39 +02:00
Heiko Schaefer
dc72a9c6c2
Clarify version requirement 2022-09-28 21:03:03 +02:00
Heiko Schaefer
efc2aefcc9
Bump versions 2022-09-28 20:48:14 +02:00
Heiko Schaefer
13b2b62f07
Simplify: use the changed CardBackend handling and the new openpgp-card-sequoia Card struct 2022-09-28 20:44:34 +02:00
Heiko Schaefer
15e7241807
Add Card to the openpgp-card-sequoia API, as a wrapper around a CardBackend/OpenPgp.
This allows using the openpgp-card-sequoia API without needing the crate openpgp-card.
2022-09-28 20:43:57 +02:00
Heiko Schaefer
c96377c9df
OpenPGP owns CardBackend (instead of holding a &mut CardBackend).
When OpenPgp holds a &mut CardBackend, clients of this library need to keep track of the CardBackend (which adds unnecessary complexity).
2022-09-28 20:42:27 +02:00
Heiko Schaefer
3ccfff42a9
Doc syntax 2022-09-28 20:37:09 +02:00
Heiko Schaefer
4b16a0bf63
Bump version 2022-09-27 22:13:47 +02:00
Heiko Schaefer
f87ce5e53d
openpgp-card-sequoia:
add cardholder_name()
2022-09-18 23:18:28 +02:00
Heiko Schaefer
3756521141
openpgp-card-sequoia: Fix make_cert()
[The primary key was missing its CS Key Flags after the changes in 4557c40b, both in the User ID selfsigs, and the DirectKey signature]
2022-09-18 23:18:28 +02:00
Heiko Schaefer
9fe1ca31c0
Bump version 2022-09-18 15:30:50 +02:00
Heiko Schaefer
b32cf67196
Don't implicitly add a User ID for the cardholder name, in make_cert() 2022-09-18 15:30:35 +02:00
Heiko Schaefer
9734ed5dc9
Bump version 2022-09-08 19:30:31 +02:00
Heiko Schaefer
8cadded9f0
opgpcard: rename parameter "user-id" to "userid" to match sq 2022-09-08 19:30:05 +02:00
Heiko Schaefer
2ece9734fd
opgpcard: filter out empty User IDs in make_cert() 2022-09-08 19:25:55 +02:00
Heiko Schaefer
4557c40bda
opgpcard: DRY make_cert(). 2022-09-08 19:25:35 +02:00
Heiko Schaefer
1b483b5c09
opgpcard: Add direct key signature in make_cert().
Without this, pubkey output contains no signatures at all, if no User ID is set.
2022-09-08 19:25:30 +02:00
Heiko Schaefer
d167883835
opgpcard: Remove obsolete FIXME 2022-09-08 19:25:24 +02:00
Heiko Schaefer
69ea7c453b
opgpcard: Document optionally binding User IDs to certificates in 'admin generate' and 'pubkey'. 2022-09-04 20:45:04 +02:00
Heiko Schaefer
9aff50d2d3
Fix lint warnings 2022-09-04 20:36:17 +02:00
Heiko Schaefer
fa524a4942
Bump version 2022-09-04 20:33:42 +02:00
Heiko Schaefer
639c80f6c8
Bump version 2022-09-04 20:31:08 +02:00
Heiko Schaefer
96e28b1b4f
opgpcard: Add optional user-id parameter for "pubkey" and "admin generate", to bind User IDs to the certificate. 2022-09-04 20:30:33 +02:00
Heiko Schaefer
8e6f03a2c5
Fix new clippy lints. 2022-08-30 19:19:25 +02:00
Heiko Schaefer
0f50eda297
Add some notes about the 'cardholder certificate' feature. 2022-08-30 17:49:59 +02:00
Heiko Schaefer
e5537c04f5
Bump version 2022-08-05 23:01:25 +02:00
Heiko Schaefer
9309658d39
Document password entry for opgpcard key import. 2022-08-05 23:01:25 +02:00
Heiko Schaefer
380592b069
opgpcard: implement import of encrypted keys.
- handle cases where not all keys are encrypted, or keys are encrypted with different passwords.
- check availability of all necessary passwords before starting to write to the card.

(Fixes #33)
2022-08-05 22:43:23 +02:00
Heiko Schaefer
11ccc9b5e3
cleanup import 2022-08-05 01:29:43 +02:00
Heiko Schaefer
12f2ad005c
Run CI tests with RUST_BACKTRACE=1 (fixes #39) 2022-07-29 09:33:01 +02:00
Heiko Schaefer
3f833faf3b
Change short option name for showing "public-key-material" in status to '-K' for uniqueness. 2022-07-26 16:16:44 +02:00
Heiko Schaefer
93b0cf93d0
openpgp-card-tools documentation: Use long form option names (except for PIN options). 2022-07-26 16:15:39 +02:00
Heiko Schaefer
4b20107197
openpgp-card-tools documentation edits.
- always show examples for interactive pin-entry first, as the default,
- fix documentation error for 'pin set-admin',
- misc minor edits.
2022-07-26 16:08:05 +02:00
Heiko Schaefer
202b0ef5ce
Uniformly use 'YubiKey' styling. 2022-07-26 09:43:27 +02:00
Heiko Schaefer
d4f7b8d1b0
Update copyright headers 2022-07-26 09:42:03 +02:00
Heiko Schaefer
8427eadfad
Bump versions 2022-07-25 18:13:36 +02:00