Commit graph

836 commits

Author SHA1 Message Date
Heiko Schaefer
dac30e268e Break out encode_len() fn 2021-08-21 12:42:08 +02:00
Heiko Schaefer
4d19cc0dbe Fix typo 2021-08-21 12:32:47 +02:00
Heiko Schaefer
89fda362d1 Add documentation. 2021-08-21 01:19:49 +02:00
Heiko Schaefer
c3ef90638d Add documentation, remove unused TryFrom implementation. 2021-08-21 01:19:14 +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
50499dc15d Expand top-level README 2021-08-20 19:33:27 +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
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