Heiko Schaefer
1ce74ab8c6
Pad private key scalars of ECC keys.
...
MPIs can have leading zeros stripped, in OpenPGP, however, e.g. the floss34 card requires the NIST scalar in its non-stripped form.
2021-09-23 20:54:33 +02:00
Heiko Schaefer
6d24054e1e
Normalize capitalization to "OpenPGP card"
2021-09-22 16:41:53 +02:00
Heiko Schaefer
cf8fb05210
Don't set a policy implicitly.
2021-09-21 16:59:01 +02:00
Heiko Schaefer
5417fde8ca
Implement support for alternate ECC import format (which includes public key data)
2021-09-21 16:50:34 +02:00
Heiko Schaefer
332360cbbb
Implement additional import formats for RSA key import.
2021-09-21 11:22:56 +02:00
Heiko Schaefer
5e92f4ee25
Adjust to changed extended_capabilities types.
2021-09-16 02:38:25 +02:00
Heiko Schaefer
39df280d70
Fix comment type
2021-09-16 02:05:28 +02:00
Heiko Schaefer
f2e5fea0fc
extended capabilities: restructure, to prepare for different versions of this DO
2021-09-14 02:00:54 +02:00
Heiko Schaefer
d5651e96bb
Reorganize key uploading API
2021-09-11 22:58:02 +02:00
Heiko Schaefer
1b9d860adf
Minor edits on doc comments.
2021-09-11 16:54:34 +02:00
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