Commit graph

92 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
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
Heiko Schaefer
396ce9d8c6 Add a "test" that prints historical bytes, extended capabilities and extended length information.
(This is used for debugging during development, not as an actual test)
2021-07-29 18:35:25 +02:00
Heiko Schaefer
d67c01c9f6 Adjust to CardClient API changes 2021-07-29 18:35:25 +02:00
Heiko Schaefer
ee6b45477e Clean up output format 2021-07-21 01:48:53 +02:00
Heiko Schaefer
3ed3c5c33f Cleanup comment 2021-07-20 20:35:43 +02:00
Heiko Schaefer
03e07ef2d0 clippy lint 2021-07-20 20:30:14 +02:00
Heiko Schaefer
c789c90b9e - more explicit error handling
- add abstraction for types of card
2021-07-20 20:30:14 +02:00
Heiko Schaefer
b47b7930f0 Add 25519 and NIST256/521 keys to the set of tests. 2021-07-18 21:41:03 +02:00
Heiko Schaefer
50295fdc84 Add more test keys and encrypted test-messages. 2021-07-18 21:30:32 +02:00
Heiko Schaefer
97d4880118 Signing 2021-07-18 12:00:00 +02:00
Heiko Schaefer
fa0c5a7faf Fix reuse license information 2021-07-17 02:27:51 +02:00
Heiko Schaefer
5af213562b Add decryption to card-functionality tests. 2021-07-17 02:24:43 +02:00
Heiko Schaefer
f59a8a948c Remove unused imports; Lints. 2021-07-16 18:44:59 +02:00
Heiko Schaefer
77e32e02c2 Add the crate card-functionality, which implements a test suite to test the openpgp-card crate against a set of OpenPGP cards 2021-07-16 17:26:10 +02:00