Commit graph

677 commits

Author SHA1 Message Date
Heiko
497b825c2b Merge branch 'nora/modules' into 'main'
opgpcard: Split into modules

See merge request openpgp-card/openpgp-card!17
2022-10-26 17:08:43 +00:00
Nora Widdecke
77ed66bde7
opgpcard: Add Lars to license header 2022-10-26 19:07:24 +02:00
Nora Widdecke
00d40e940b
opgpcard: refactor admin generate 2022-10-26 19:07:24 +02:00
Nora Widdecke
72f8a1994b
opgpcard: Extract admin command into module 2022-10-26 18:58:31 +02:00
Nora Widdecke
1be21cfc7f
opgpcard: Extract attestation command into module 2022-10-26 18:58:30 +02:00
Nora Widdecke
25ae73711d
opgpcard: Read pinpad_modify only when needed 2022-10-26 18:58:30 +02:00
Nora Widdecke
56d70e3218
opgpcard: Clean up returns 2022-10-26 18:58:30 +02:00
Nora Widdecke
1ecaf396c7
opgpcard: Reorganize pin 2022-10-26 18:58:30 +02:00
Nora Widdecke
b6dfa08d52
opgpcard: Extract pin command into module 2022-10-26 18:58:30 +02:00
Nora Widdecke
9b7e614772
opgpcard: Extract set_identity command into module 2022-10-26 18:58:30 +02:00
Nora Widdecke
d0ad41c9f5
opgpcard: Extract factory_reset command into module 2022-10-26 18:58:30 +02:00
Nora Widdecke
3615087065
opgpcard: Extract sign command into module 2022-10-26 18:58:30 +02:00
Nora Widdecke
9e5e30cea4
opgpcard: Extract decrypt command into module 2022-10-26 18:58:30 +02:00
Nora Widdecke
3ff4127fff
opgpcard: Extract pubkey command into module 2022-10-26 18:58:30 +02:00
Nora Widdecke
660ba2d3bb
opgpcard: Extract ssh command into module 2022-10-26 18:58:30 +02:00
Nora Widdecke
d05feec605
opgpcard: Extract info command into module 2022-10-26 18:58:30 +02:00
Nora Widdecke
f0ab24b040
opgpcard: Extract status command into module 2022-10-26 18:58:30 +02:00
Nora Widdecke
4e575685a1
opgpcard: Make default output values type safe 2022-10-26 12:02:53 +02:00
Heiko Schaefer
6df7e2d56f
opgpcard: tighten/clarify output 2022-10-26 01:12:51 +02:00
Heiko Schaefer
bb577647c4
opgpcard: clarify/add comment 2022-10-26 01:00:29 +02:00
Nora Widdecke
1f556c068d Merge branch 'missingkeys' into 'main'
opgpcard: properly error out of sign/decrypt, if the relevant key slot is empty

See merge request openpgp-card/openpgp-card!16
2022-10-25 22:19:55 +00:00
Heiko Schaefer
4674b95557
opgpcard: properly error out of sign/decrypt, if the relevant key slot is empty 2022-10-25 19:03:53 +02:00
Heiko
65caf07cc0 Merge branch 'nora/types' into 'main'
opgpcard: Make argument parsing more type safe

See merge request openpgp-card/openpgp-card!14
2022-10-25 14:47:49 +00:00
Nora Widdecke
23b4c05c3d
opgpcard: Make algo selection type safe 2022-10-25 14:55:39 +02:00
Heiko Schaefer
6101e17979
ci: Update udeps 2022-10-25 14:53:05 +02:00
Nora Widdecke
1834762879
opgpcard: Remove negative logic 2022-10-25 14:53:05 +02:00
Nora Widdecke
e81ebd21a0
opgpcard: Restrict values of id of set-identity 2022-10-25 14:53:05 +02:00
Nora Widdecke
a7731ec467
opgpcard: Add Nora to license headers 2022-10-25 14:53:05 +02:00
Nora Widdecke
e9787dcbd3
opgpcard: Make TouchPolicy type safe 2022-10-25 14:53:05 +02:00
Nora Widdecke
9dd4f3ab56
opgpcard: Make the KeySlots type safe 2022-10-25 14:44:44 +02:00
Heiko
af9d4f49ad Merge branch 'nora/subplot-cache' into 'main'
ci: Use separate cache for subplot job

See merge request openpgp-card/openpgp-card!15
2022-10-25 12:16:19 +00:00
Nora Widdecke
a9d6c11bcc
ci: Use separate cache for subplot job
- Some subplot tests require a virtual card. Those are not always
    available on a system, so subplot uses the
    tests/virtual-card-available file to note whether a virtual card is
    available, and only generates those tests if it is.

  - That file is included in the cache, so the cache should not be
    shared.
2022-10-25 14:09:24 +02:00
Heiko Schaefer
708a8b2707
opgpcard: remove dependencies on lower level openpgp-card (use only the openpgp-card-sequoia API) 2022-10-25 12:53:37 +02:00
Heiko Schaefer
9723ae40b6
openpgp-card-sequoia: add re-exports 2022-10-25 12:52:49 +02:00
Heiko Schaefer
d2ac526523
openpgp-card-sequoia: add key_information() 2022-10-25 12:52:49 +02:00
Heiko Schaefer
1f7aa97df5
openpgp-card-sequoia: add ca_fingerprints() 2022-10-25 12:52:49 +02:00
Heiko Schaefer
5dae8e5758
openpgp-card-sequoia: add getters for uif_* 2022-10-25 12:52:49 +02:00
Heiko Schaefer
5fbe9186cb
openpgp-card-sequoia: add wrapper fn for set_identity() 2022-10-25 12:52:48 +02:00
Heiko Schaefer
37a99b63cf
openpgp-card-sequoia: update doc comments 2022-10-25 12:52:48 +02:00
Heiko
fe61a398a9 Merge branch 'nora/subplot-ci' into 'main'
CI fixes

See merge request openpgp-card/openpgp-card!13
2022-10-25 10:51:28 +00:00
Nora Widdecke
7113de821e
ci: Remove superflous workaround 2022-10-25 12:13:50 +02:00
Nora Widdecke
baf7895024
ci: Report rust and cargo versions 2022-10-25 12:13:50 +02:00
Nora Widdecke
e82d30b956
ci: Extract subplot into its own job
- Subplot requires the presence of virtual cards, so it needs an image
    where they are present. However this interferes with the intentions
    of the cargo-test and cargo-test-debian-bookworm jobs.

  - Revert the cargo-test and cargo-test-debian-bookworm jobs to the
    environments they used to test, rust:latest and
    debain:bookworm-slim, respectively.

  - Add a test "subplot" that runs the subplot tests as part of the
    virtual-test stage.
2022-10-25 12:13:47 +02:00
Lars Wirzenius
257a21cc43 Merge branch 'card-service-data' into 'main'
opgpcard: adjust handling of card_service_data

See merge request openpgp-card/openpgp-card!12
2022-10-25 09:18:47 +00:00
Heiko Schaefer
fff5b18310
opgpcard: adjust handling of card_service_data 2022-10-25 10:37:37 +02:00
Heiko
44c73a154b Merge branch 'liw/json' into 'main'
Add JSON and YAML output to opgpcard

Closes #36

See merge request openpgp-card/openpgp-card!9
2022-10-24 17:54:21 +00:00
Lars Wirzenius
bfb7449686 add an example for scripting use of opgpcard
Sponsored-by: NLnet Foundation; NGI Assure
2022-10-24 20:30:14 +03:00
Lars Wirzenius
dd02a29497 add integration/acceptance test with Subplot
These need to be run with the virtual smartcard emulation in the
Docker container specified in .gitlab-ci.yml for tests.

The tests are a little simplistic, as it turned out that making
changes to the smart card results in flaky tests. Thus only parts of
opgpcard that don't change the card are tested.

Sponsored-by: NLnet Foundation; NGI Assure
2022-10-24 20:30:14 +03:00
Lars Wirzenius
0b616e7b6e implement output formats, version
This is where we actually implement support for the new, versioned
JSON/YAML output formatting.
2022-10-24 19:33:21 +03:00
Lars Wirzenius
dd6950e5fe add command line options to specify output format, version
In this change, these have no effect, but they will have soon. Very soon.

Sponsored-by: NLnet Foundation; NGI Assure
2022-10-24 19:33:21 +03:00