Commit graph

  • f42596f2f5 Handle key import when a card doesn't support the "Algorithm Information" command. Heiko Schaefer 2021-08-05 21:10:18 +0200
  • 3effe39aa1 Moved handling of cards and configuration of cards for testing to cards.rs Heiko Schaefer 2021-08-05 15:16:59 +0200
  • f67501d0f9 Lints Heiko Schaefer 2021-08-05 13:56:25 +0200
  • 7541b2f493 Expand documentation in example config file, reformat config. Heiko Schaefer 2021-08-04 22:29:55 +0200
  • d2c4152595 Move the configuration of cards for card-functionality test suite into the file config/test-cards.toml. Add an example for this config file in config/test-cards-example.toml. Add handling for this toml configuration. Heiko Schaefer 2021-08-04 19:05:41 +0200
  • 1af3a4b5ee Explore shutting down scdaemon when accessing cards via pcsc. Heiko Schaefer 2021-08-03 23:18:19 +0200
  • 897847cb46 Add a shutdown_scd() function, to explore managing scdaemon. Heiko Schaefer 2021-08-03 23:17:06 +0200
  • 833cdbc238 Adjust to new ScdClient API, socket is not needed anymore. Heiko Schaefer 2021-08-03 18:23:47 +0200
  • d5b1b2daa3 Adjust to new ScdClient API, socket is not needed anymore. Heiko Schaefer 2021-08-03 17:46:55 +0200
  • f46d94f989 Communicate with scdaemon via gpg-agent (this removes the need for a "socket" parameter) Heiko Schaefer 2021-08-03 17:46:13 +0200
  • caffc8a20c Import cleanup Heiko Schaefer 2021-08-03 15:34:09 +0200
  • 083db2a8be Adjust to changed ScdClient API Heiko Schaefer 2021-08-03 15:32:48 +0200
  • c9e7f1b0aa Some cleanup/documentation. ScdClient now produces the lower level CardClientBox objects (instead of CardBase) Heiko Schaefer 2021-08-03 15:31:40 +0200
  • 744d0e1aac Improve phrasing of description Heiko Schaefer 2021-08-03 10:21:21 +0200
  • 595bf3cf4d Lints Heiko Schaefer 2021-07-29 18:21:37 +0200
  • 420550ce75 Print the underlying error when a key upload fails Heiko Schaefer 2021-07-29 18:21:01 +0200
  • 396ce9d8c6 Add a "test" that prints historical bytes, extended capabilities and extended length information. Heiko Schaefer 2021-07-29 18:19:50 +0200
  • d67c01c9f6 Adjust to CardClient API changes Heiko Schaefer 2021-07-29 18:18:00 +0200
  • ff65d200ec Improve scdaemon client backend: Heiko Schaefer 2021-07-29 18:13:41 +0200
  • 56f4459932 When the card doesn't support command chaining, throw CommandTooLong error if the command is too long. Heiko Schaefer 2021-07-29 18:09:46 +0200
  • dbf2e9e3fb A CardClient instance can now contain a CardCaps (which specifies how commands should be sent to the card). Heiko Schaefer 2021-07-29 18:08:04 +0200
  • 9d93570d9f Add comment pointing to Gnuk source for decryption return format. Heiko Schaefer 2021-07-22 16:50:51 +0200
  • ee6b45477e Clean up output format Heiko Schaefer 2021-07-21 00:00:42 +0200
  • 3ed3c5c33f Cleanup comment Heiko Schaefer 2021-07-20 20:35:43 +0200
  • 03e07ef2d0 clippy lint Heiko Schaefer 2021-07-20 20:29:44 +0200
  • c789c90b9e - more explicit error handling - add abstraction for types of card Heiko Schaefer 2021-07-20 20:25:45 +0200
  • 6c563b230b Handle Gnuk's return format for NistP256 decryption Heiko Schaefer 2021-07-20 17:38:15 +0200
  • 2b221fa76b Truncate digest length for ECDSA. This fixes signing for nistp256 keys with Gnuk (Gnuk expects a 32 byte hash for nistp256) Heiko Schaefer 2021-07-19 14:18:09 +0200
  • b47b7930f0 Add 25519 and NIST256/521 keys to the set of tests. Heiko Schaefer 2021-07-18 21:41:03 +0200
  • 50295fdc84 Add more test keys and encrypted test-messages. Heiko Schaefer 2021-07-18 21:30:32 +0200
  • c85d006887 Support ECDSA signatures Heiko Schaefer 2021-07-18 21:12:22 +0200
  • 97d4880118 Signing Heiko Schaefer 2021-07-18 12:00:00 +0200
  • aef6c781ed Lint Heiko Schaefer 2021-07-17 03:10:56 +0200
  • 7590b4f06b Depend on sequoia-ipc from sequoia git main (for assuan::Client) Heiko Schaefer 2021-07-17 02:39:42 +0200
  • fa0c5a7faf Fix reuse license information Heiko Schaefer 2021-07-17 02:27:51 +0200
  • 5af213562b Add decryption to card-functionality tests. Heiko Schaefer 2021-07-17 02:24:43 +0200
  • 1bd1326a2b For now: depend on sequoia-ipc from the branch where assuan::Client is Send+Sync Heiko Schaefer 2021-07-16 18:52:43 +0200
  • f59a8a948c Remove unused imports; Lints. Heiko Schaefer 2021-07-16 18:44:59 +0200
  • 77e32e02c2 Add the crate card-functionality, which implements a test suite to test the openpgp-card crate against a set of OpenPGP cards Heiko Schaefer 2021-07-16 17:26:10 +0200
  • 4b7b4a2ab6 Use ScdClient::open_scdc_by_serial() in test code. Heiko Schaefer 2021-07-16 17:24:53 +0200
  • e34285dc68 Add helper fn vka_as_uploadable_key() Heiko Schaefer 2021-07-16 17:23:47 +0200
  • 0fffb0c91b Refactor for multiple card backends Heiko Schaefer 2021-07-16 17:15:21 +0200
  • 610478695f Bugfix in interpreting Sex value Heiko Schaefer 2021-07-16 16:46:34 +0200
  • c8a742e8d0 Imports cleanup; comment Heiko Schaefer 2021-07-16 16:45:57 +0200
  • 1c15e61fb4 Add get_key_generation_times() Heiko Schaefer 2021-07-16 16:39:02 +0200
  • da51f27173 Simplify code. Heiko Schaefer 2021-07-16 16:31:14 +0200
  • 01126aabdf Support scdaemon as an alternative backend for interaction with OpenPGP cards. Heiko Schaefer 2021-07-16 16:30:56 +0200
  • b8bd87bd7e Remove Arc<Mutex<>> attempts, rely on assuan::Client now being Send+Sync Heiko Schaefer 2021-07-16 14:15:03 +0200
  • 68cad4c147 Implement ScdClient::open_scdc_by_serial() to open a specific card through scdaemon Heiko Schaefer 2021-07-15 13:22:33 +0200
  • 32dbecbda2 Test code for key uploading Heiko Schaefer 2021-07-15 13:13:56 +0200
  • ec8c15cab3 Add conversion implementations Heiko Schaefer 2021-07-14 22:31:00 +0200
  • c445757633 Implement get_key_generation_times() Heiko Schaefer 2021-07-14 21:59:33 +0200
  • 7afe2f52c2 Refactor card initialisation Heiko Schaefer 2021-07-14 18:03:07 +0200
  • 38fb6bd970 Add a helper method to construct a CardUploadableKey from a ValidErasedKeyAmalgamation Heiko Schaefer 2021-07-14 18:02:11 +0200
  • 42c4f14d57 - Add documentation - Add placeholders for more tests Heiko Schaefer 2021-07-14 02:09:35 +0200
  • 499e128b4e Minimize the output data: assert data that is always expected - only return Status bytes that diverge between cards. Added a test that sets and checks name, lang, sex, url data. Heiko Schaefer 2021-07-14 00:06:30 +0200
  • 6c7ce6228c Fix mistake in mapping of u8 value to Sex Heiko Schaefer 2021-07-13 22:27:44 +0200
  • 6601d2d09b - return data from tests in a Vec - run a test on a set of cards Heiko Schaefer 2021-07-13 20:36:45 +0200
  • 3bba67fbcc First draft of low-level card functionality testing Heiko Schaefer 2021-07-13 00:09:50 +0200
  • 31e577c896 Refactoring low level API for card-functionality tests Heiko Schaefer 2021-07-13 00:08:45 +0200
  • 89745c0268 Experiment: wrap Arc<Mutex<CardSign>> in CardSigner Heiko Schaefer 2021-07-12 13:54:59 +0200
  • 3872b585d8 Add SPDX copyright headers Heiko Schaefer 2021-07-12 12:25:58 +0200
  • de0645ef0e refactor opening of cards Heiko Schaefer 2021-07-12 12:15:31 +0200
  • 1187e816d0 Cleanup Heiko Schaefer 2021-07-10 22:09:11 +0200
  • 2343bd8310 Initial scdc experimentation. Heiko Schaefer 2021-07-10 21:58:13 +0200
  • 8e3c6c0046 Add an abstraction layer (CardClient) for access to the card, in preparation for scdaemon client mode. Heiko Schaefer 2021-07-09 20:37:52 +0200
  • efe88e3582 Don't expect data in the response to SELECT. Heiko Schaefer 2021-07-07 00:30:31 +0200
  • d1531de4f7 Break out low-level OpenPGP card functionality into card_app.rs Heiko Schaefer 2021-07-05 21:18:34 +0200
  • dc89010869 Re-format comment Heiko Schaefer 2021-07-05 11:48:34 +0200
  • fd9cd6eabd Change set* commands to leave out 'Le', because no response data is expected. Heiko Schaefer 2021-07-04 01:03:09 +0200
  • 3bc14e9d19 Implement check_pw1/3(), which calls "7.2.2 VERIFY" with no data ("Lc empty"), to ask the card for verification status. Heiko Schaefer 2021-07-04 00:04:35 +0200
  • d1f854f2f0 Implement get_pw_status_bytes() Heiko Schaefer 2021-07-03 21:23:17 +0200
  • 2a836546b3 Adjust README Heiko Schaefer 2021-07-03 18:24:56 +0200
  • 01fab2d91c Use an "ident" to specify a card. The ident is a combination of manufacturer and serial number. Heiko Schaefer 2021-07-03 18:17:30 +0200
  • 920da0442b Rename structs that represent different verification states of the OpenPGP card. Heiko Schaefer 2021-07-02 14:21:50 +0200
  • 3fcb78caa5 Cleanup/fix CI config. Heiko Schaefer 2021-07-02 00:16:35 +0200
  • 308210e615 Fix tests. Heiko Schaefer 2021-07-02 00:04:00 +0200
  • b427a9d2e7 Add missing enum variant Heiko Schaefer 2021-07-01 23:52:23 +0200
  • f00865ab75 rustfmt Heiko Schaefer 2021-07-01 23:46:12 +0200
  • 959342bb5a Add CI for reuse/test/fmt Heiko Schaefer 2021-07-01 23:12:01 +0200
  • 60243b6d7c Add handling of unknown Algorithms/OIDs in algo_info::parse Heiko Schaefer 2021-07-01 22:45:35 +0200
  • c800a54597 Add Ed448 and X448 to parseable algorithms (for latest Gnuk) Heiko Schaefer 2021-07-01 04:18:59 +0200
  • 7ee737068b Remove Le-hack Heiko Schaefer 2021-07-01 04:18:01 +0200
  • 1f77472746 Add version to dependency Heiko Schaefer 2021-06-30 22:37:20 +0200
  • f8b10927e7 Documentation links Heiko Schaefer 2021-06-30 22:34:42 +0200
  • 88f0598eab Initial commit Heiko Schaefer 2021-06-30 22:29:23 +0200