Commit graph

63 commits

Author SHA1 Message Date
Heiko Schaefer
c5d03bd677 Rename StatusByte -> StatusBytes 2021-09-07 11:50:20 +02:00
Heiko Schaefer
8b5894e961 Rename get_app_data() to get_application_related_data() to correspond with naming in spec. 2021-09-02 22:09:46 +02:00
Heiko Schaefer
316ca7eb3a Rename error types and re-export them at the crate top level. 2021-09-01 23:59:56 +02:00
Heiko Schaefer
f8d998b3a6 Implement From<CardClientBox>, Into<CardClientBox> for CardApp and adjust client code. 2021-09-01 22:26:25 +02:00
Heiko Schaefer
88c924c7d9 Add documentation, normalize fn names. 2021-09-01 20:45:18 +02:00
Heiko Schaefer
5a6a5754e1 Add an RSA3k private key for import tests 2021-08-29 18:00:23 +02:00
Heiko Schaefer
a89a106d20 Print ApplicationId in test_print_caps 2021-08-28 19:59:23 +02:00
Heiko Schaefer
935c77f59a Rename ApplicationRelatedData::get_aid() to get_application_id() 2021-08-28 19:58:34 +02:00
Heiko Schaefer
fdac0de34f Add a CI job to run 'cargo test' with rustc/cargo from debian stable.
Minor fixes so that the code compiles with rustc 1.48
2021-08-27 15:15:31 +02:00
Heiko Schaefer
7c8c72339b Use KeyGenerationTime in openpgp-card APIs (instead of u32 or SystemTime) 2021-08-26 19:27:08 +02:00
Heiko Schaefer
eaf46e6bbb Make fields private, add accessor methods. 2021-08-26 17:59:54 +02:00
Heiko Schaefer
c6ba204293 Move debug prints for key generation from keys.rs to tests.rs 2021-08-25 21:18:13 +02:00
Heiko Schaefer
833a22f8f0 Add test to explore cardholder cert functionality 2021-08-25 16:42:18 +02:00
Heiko Schaefer
013af97c23 Implement get_private() and set_private(). 2021-08-22 18:59:54 +02:00
Heiko Schaefer
cb8f3c7cb1 Elaborate "PW status bytes", fix broken naming of members.
Implement set_pw_status_bytes().
Add test code to card-functionality.
2021-08-22 01:20:14 +02:00
Heiko Schaefer
5109ac5445 Rename card_data -> card_do 2021-08-21 19:02:04 +02:00
Heiko Schaefer
44e915d3e0 Refactor: move OpenPGP card data structures (and parsing) into the module card_data 2021-08-21 15:59:31 +02:00
Heiko Schaefer
7a7db8a131 Rename get_cards->into_cardapps;
Fix get_card_app() [doesn't need &mut]
2021-08-20 22:19:39 +02:00
Heiko Schaefer
c872e46e80 Refactor: move accessor fn for "Application Related Data" into the struct ApplicationRelatedData. 2021-08-20 22:19:39 +02:00
Heiko Schaefer
d62f73e84c Add panic message. 2021-08-20 13:25:58 +02:00
Heiko Schaefer
191c6221b4 Print human readable card name. 2021-08-20 13:25:58 +02:00
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
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
85a05167d1 Refactor, Document API.
(Moved algorithm-related data structures to algorithm.rs)
2021-08-18 19:19:22 +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
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
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
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
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
27b6d686d9 Refactor card-functionality crate, tentatively breaking tests into groups. 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
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
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
d5b1b2daa3 Adjust to new ScdClient API, socket is not needed anymore. 2021-08-03 17:46:55 +02:00
Heiko Schaefer
083db2a8be Adjust to changed ScdClient API 2021-08-03 15:32:48 +02:00
Heiko Schaefer
595bf3cf4d Lints 2021-07-29 18:35:25 +02:00
Heiko Schaefer
420550ce75 Print the underlying error when a key upload fails 2021-07-29 18:35:25 +02:00