Commit graph

74 commits

Author SHA1 Message Date
Heiko Schaefer
0d249a47fd sq_util::get_subkey() is now the central helper fn for picking a (sub)key from a Cert. 2021-09-11 16:27:31 +02:00
Heiko Schaefer
fe06db3510 Release pcsc and -sequoia 2021-09-11 13:02:54 +02:00
Heiko Schaefer
3b3a3b5064 More documentation 2021-09-11 13:00:05 +02:00
Heiko Schaefer
77b2ca98b0 Misc cleanup:
Simplify verify_foo() calls.
More orderly output.
Remove Scdc for now.
2021-09-11 12:42:33 +02:00
Heiko Schaefer
be95b9de43 Normalize fn names: remove 'get_' prefixes, and adjust to naming in the spec. 2021-09-11 12:42:33 +02:00
Heiko Schaefer
0e2b53feb4 Fix the assumptions about authorization underlying the card::* types:
Multiple passwords can be validated on a card at the same time.
Rename verify_* fn to be more easily legible ("user" instead of "pw1", ...)
2021-09-11 12:42:33 +02:00
Heiko Schaefer
1613f23ecc Minor adjustments to output formatting.
Adjust path to example-data.
2021-09-11 12:42:01 +02:00
Heiko Schaefer
a5b6ce468d Add high level crate documentation. 2021-09-11 12:42:01 +02:00
Heiko Schaefer
93fa9d9650 Make naming consistent. 2021-09-11 12:42:01 +02:00
Heiko Schaefer
936f04663c Rename list_cards() -> cards().
Remove open_yolo() from the openpgp-card-pcsc API (it's easy enough to approximate by using cards())
2021-09-11 12:42:01 +02:00
Heiko Schaefer
55e7a2c794 Re-ordering the -sequoia crate, as a first step towards defining its API. 2021-09-11 12:42:01 +02:00
Heiko Schaefer
0302387bea Releases 2021-09-09 00:48:25 +02:00
Heiko Schaefer
ad929598ce Rename Features -> ExCapFeatures 2021-09-03 20:03:50 +02:00
Heiko Schaefer
7a78271211 Rename decrypt() to decipher(), to correspond with naming in spec.
Add a note to investigate PKCS#1 formatting of the command input.
2021-09-03 13:45:19 +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
f5b31aac26 Move KeySet from card_do.rs to lib.rs
(It is not a DO, only a container to conveniently handle triples of DO)
2021-09-02 21:59:05 +02:00
Heiko Schaefer
6b3ae2cf62 Adjust DO struct names to correspond to naming in the spec 2021-09-02 21:54:44 +02:00
Heiko Schaefer
b560d4eb5a Add assert to hacky decryption case 2021-09-02 17:58:10 +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
f501c09d2f Add #[non_exhaustive] to error and crypto_data enums. 2021-09-01 22:46:04 +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
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
9b321c5232 Don't fail when the card doesn't support algo information. 2021-08-26 20:57:50 +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
fadd327e7c Release pcsc, scdc. 2021-08-26 15:05:40 +02:00
Heiko Schaefer
9f3ebe8972 Release openpgp-card. 2021-08-26 15:01:59 +02:00
Heiko Schaefer
f3bfecd185 Use the openpgp_card::card_do::Fingerprint type instead of [u8; 20].
Add a TryFrom<&[u8]> implementation to Fingerprint.
2021-08-25 21:25:20 +02:00
Heiko Schaefer
c14664b9d5 Implement get_security_support_template() 2021-08-21 20:22:03 +02:00
Heiko Schaefer
5109ac5445 Rename card_data -> card_do 2021-08-21 19:02:04 +02:00
Heiko Schaefer
d599471be5 Refactor: move cryptographic data structures to the module crypto_data 2021-08-21 17:43:44 +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
c872e46e80 Refactor: move accessor fn for "Application Related Data" into the struct ApplicationRelatedData. 2021-08-20 22:19:39 +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
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
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
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
765b4e8fdc Move "make_cert" into openpgp-card-sequoia 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
9e5bb9b5a6 Make CardSigner accessible (for use in card-functionality crate) 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
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
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