Commit graph

508 commits

Author SHA1 Message Date
Heiko Schaefer
0bf59c7e51 In key generation: don't set algo attributes if the card doesn't support that feature. 2021-09-17 13:56:28 +02:00
Heiko Schaefer
a39f25d8a3 Handle SW_EXACT_LENGTH (0x6c??) in send_command() 2021-09-17 13:36:20 +02:00
Heiko Schaefer
60c67d3ebe Print status bytes as hex, for UnknownStatus 2021-09-16 17:17:19 +02:00
Heiko Schaefer
5e92f4ee25 Adjust to changed extended_capabilities types. 2021-09-16 02:38:25 +02:00
Heiko Schaefer
e1af08646a Add comment 2021-09-16 02:07:05 +02:00
Heiko Schaefer
39df280d70 Fix comment type 2021-09-16 02:05:28 +02:00
Heiko Schaefer
cdb72e271c Fix existing test, add test for v2 card 2021-09-16 01:52:34 +02:00
Heiko Schaefer
3cc9a09290 Implement discrete handling of v2 and v3 ExtendedCapabilities. 2021-09-15 17:39:47 +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
245740febc More precise debug output. 2021-09-13 19:45:17 +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
d020d5a8c5 Add authentication subkeys to example keys. 2021-09-11 13:44:06 +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
e261d4d041 Fix refactoring mistake in rustdoc. 2021-09-09 18:17:46 +02:00
Heiko Schaefer
8814dbd766 Add test_change_pw() and test_resetting(), both of which are still in an exploratory stage. 2021-09-09 01:06:44 +02:00
Heiko Schaefer
0302387bea Releases 2021-09-09 00:48:25 +02:00
Heiko Schaefer
62b7b35ab0 Clean up Command, simplify serialization. 2021-09-09 00:46:38 +02:00
Heiko Schaefer
52bdf4cffd Implement change_pw1(), change_pw3(), reset_retry_counter_pw1(). 2021-09-08 11:18:18 +02:00
Heiko Schaefer
891b57df06 Throw error for unexpected input length for Fingerprint. 2021-09-07 17:01:13 +02:00
Heiko Schaefer
6cfe340d2b Clippy lints 2021-09-07 17:01:13 +02:00
Heiko Schaefer
5a49b578f9 Throw errors for unexpected values while processing ExtendedCapabilities from the card.
(Note: observed mse_command_support values were 0/1/255, so checks for that field have been disabled for now)
2021-09-07 17:01:13 +02:00
Heiko Schaefer
6a7cb7287a Remove obsolete FIXME comments (this case is now handled upstream) 2021-09-07 14:34:31 +02:00
Heiko Schaefer
2e7ee82a58 Use StatusBytes in RawResponse (instead of a pair of u8).
Replace status bytes constants in the code with StatusBytes enum variants.
2021-09-07 14:34:31 +02:00
Heiko Schaefer
c5d03bd677 Rename StatusByte -> StatusBytes 2021-09-07 11:50:20 +02:00
Heiko Schaefer
a52f3a648e Check for OK status code in chained replies. 2021-09-06 22:34:06 +02:00
Heiko Schaefer
bc7dede0ac Move the code that creates a DO for setting algorithm attributes into Algo. 2021-09-06 17:07:47 +02:00
Heiko Schaefer
5fcb454b9c Remove FIXMEs; add panic to match branches that should not happen 2021-09-06 12:30:56 +02:00
Heiko Schaefer
5ccd6be1bb Remove asserts for password lengths (running the command and returning the card's error, if any, seems more appropriate) 2021-09-06 12:27:44 +02:00
Heiko Schaefer
ad929598ce Rename Features -> ExCapFeatures 2021-09-03 20:03:50 +02:00
Heiko Schaefer
48803eb454 Break apart key import function.
Don't try to set algo attributes when Extended Capabilities doesn't list the feature.
2021-09-03 18:49:35 +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
17ee12566f Minor edits to comments 2021-09-02 22:13:15 +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
a415ec9a50 Minor edit in comment 2021-09-02 21:54:19 +02:00
Heiko Schaefer
ee349d9083 impl From instead of Into 2021-09-02 21:44:35 +02:00
Heiko Schaefer
393e58d489 Add simple unit tests for all card_do 2021-09-02 21:41:14 +02:00
Heiko Schaefer
c7751ff4ce Implement TryFrom (instead of offering that functionality without implementing the trait) 2021-09-02 19:39:53 +02:00