Commit graph

827 commits

Author SHA1 Message Date
Heiko Schaefer
8aae0a357e Split the Response type into an internal RawResponse type which also contains the status bytes, and an external Response type that can only be generated from a RawResponse with status "ok".
This removes the need for external users of openpgp-card to check the status or operations.
That is, openpgp-card now always returns an `Err` if the status of a command is not ok.
2021-08-20 13:25:58 +02:00
Heiko Schaefer
4959307b1f Limit visibilities. 2021-08-20 10:45:30 +02:00
Heiko Schaefer
a3f2c930f2 Documentation. 2021-08-20 10:43:43 +02:00
Heiko Schaefer
421ffe3599 Add documentation, limit visibilities. 2021-08-20 00:04:56 +02:00
Heiko Schaefer
cc16e7976b Add documentation. 2021-08-19 17:39:44 +02:00
Heiko Schaefer
73cb298361 Adjust crate name to be in the same "namespace" as the other openpgp-card-* crates. 2021-08-19 17:39:24 +02:00
Heiko Schaefer
f4b90dc4e7 Bump version for release 2021-08-18 20:14:30 +02:00
Heiko Schaefer
a35ba66784 Minor edit of README 2021-08-18 20:10:48 +02:00
Heiko Schaefer
b8e3fc4816 Set version numbers for crates.io releases 2021-08-18 19:57:54 +02:00
Heiko Schaefer
85a05167d1 Refactor, Document API.
(Moved algorithm-related data structures to algorithm.rs)
2021-08-18 19:19:22 +02:00
Heiko Schaefer
6be4daa690 Switch back to using the PCSC backend in the test code. 2021-08-18 15:02:15 +02:00
Heiko Schaefer
bf8ab84668 Documentation. 2021-08-18 15:01:38 +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
b5ebc6b43c Print card name from config in test output 2021-08-17 14:25:57 +02:00
Heiko Schaefer
413e464cff Remove ciphertexts from the test data directory (ciphertext is now computed on the fly in import tests) 2021-08-15 17:16:15 +02:00
Heiko Schaefer
404d6dce3f Configure private-key-data for import tests in the toml configuration 2021-08-15 17:12:50 +02:00
Heiko Schaefer
5237c1af85 Make the config.keygen optional in the configuration file 2021-08-13 21:28:10 +02:00
Heiko Schaefer
83d9a703db Simplify 2021-08-13 21:27:59 +02:00
Heiko Schaefer
3361c8b79d Extend Test configuration file format.
Run key generation tests for the algorithms specified in the configuration.
2021-08-13 20:02:53 +02:00
Heiko Schaefer
2ef6e0442d Add an AlgoSimple enum as a simplified way to select an algorithm on a card. 2021-08-13 20:02:53 +02:00
Heiko Schaefer
765b4e8fdc Move "make_cert" into openpgp-card-sequoia 2021-08-13 20:02:53 +02:00
Heiko Schaefer
f1add02672 Lint fix 2021-08-13 20:02:53 +02:00
Heiko Schaefer
df4b4bdabb Fix: set_fingerprint doesn't expect a reply (failed on FLOSS Card 3.4, after refactoring set_fingerprint) 2021-08-13 20:02:53 +02:00
Heiko Schaefer
a0370c5c53 WIP: more testing in the context of on-card key generation.
In particular, add a decryption test.
2021-08-13 20:02:53 +02:00
Heiko Schaefer
6904551c7d Set key flags while generating a Cert from card information. 2021-08-13 20:02:53 +02:00
Heiko Schaefer
e9f1256309 Remove/adjust debug prints 2021-08-13 20:02:53 +02:00
Heiko Schaefer
ca5dd61001 Assemble information from the card into a Cert.
Still a WIP (this code serves in part to explore handling of Certs for cards).
2021-08-13 20:02:53 +02:00
Heiko Schaefer
9e5bb9b5a6 Make CardSigner accessible (for use in card-functionality crate) 2021-08-13 20:02:53 +02:00
Heiko Schaefer
27b6d686d9 Refactor card-functionality crate, tentatively breaking tests into groups. 2021-08-13 20:02:53 +02:00
Heiko Schaefer
44d5abd7ed WIP: Handling of public key material from cards 2021-08-13 20:02:53 +02:00
Heiko Schaefer
3edadb8607 Add a "test" fn that prints algorithm information for cards. 2021-08-13 20:02:53 +02:00
Heiko Schaefer
608e6533a6 Move 'Algo' and related data structures to lib.rs.
Implement the Display trait on Algo and AlgoInfo, for compact printing.
2021-08-13 20:02:53 +02:00
Heiko Schaefer
99be1fb7da Cleanup field naming in EccAttrs: t->ecc_type. 2021-08-08 09:38:46 +02:00
Heiko Schaefer
a0d92d2dc4 Refactor: add a set_fingerprint() method to CardApp.
Use that method instead of manually calling the apdu command.
Change type of fingerprint in CardUploadableKey to [u8; 20].
2021-08-07 19:27:24 +02:00
Heiko Schaefer
260c38ef25 Adjust tests to changes in Algo struct 2021-08-07 18:24:37 +02:00
Heiko Schaefer
8bc7ffd940 Refactor code for set_algorithm_attributes()
- Move algorithm attribute setting out from key import code
- Simplify Algo struct
2021-08-07 17:44:35 +02:00
Heiko Schaefer
5e0ee12e17 Simplify unwrapping Error 2021-08-07 17:15:22 +02:00
Heiko Schaefer
d9a25c23c9 Remove printlns 2021-08-07 00:54:01 +02:00
Heiko Schaefer
feb6f7be51 Implement get_pub_key() 2021-08-07 00:18:13 +02:00
Heiko Schaefer
7acc1deb98 - Implement key generation (without specifying an algorithm so the current algo is used. only supports RSA for now)
- Refactor: rename key_upload.rs -> keys.rs
- Fix handling of key timestamps
2021-08-06 20:14:02 +02:00
Heiko Schaefer
538bfb51d4 Sort imports. 2021-08-06 16:44:48 +02:00
Heiko Schaefer
f42596f2f5 Handle key import when a card doesn't support the "Algorithm Information" command. 2021-08-05 21:10:18 +02:00
Heiko Schaefer
3effe39aa1 Moved handling of cards and configuration of cards for testing to cards.rs 2021-08-05 15:31:14 +02:00
Heiko Schaefer
f67501d0f9 Lints 2021-08-05 15:16:16 +02:00
Heiko Schaefer
7541b2f493 Expand documentation in example config file, reformat config. 2021-08-04 22:29:55 +02:00
Heiko Schaefer
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.
2021-08-04 19:15:45 +02:00
Heiko Schaefer
1af3a4b5ee Explore shutting down scdaemon when accessing cards via pcsc. 2021-08-03 23:18:19 +02:00
Heiko Schaefer
897847cb46 Add a shutdown_scd() function, to explore managing scdaemon. 2021-08-03 23:17:06 +02:00
Heiko Schaefer
833cdbc238 Adjust to new ScdClient API, socket is not needed anymore. 2021-08-03 18:23:47 +02:00
Heiko Schaefer
d5b1b2daa3 Adjust to new ScdClient API, socket is not needed anymore. 2021-08-03 17:46:55 +02:00