Commit graph

286 commits

Author SHA1 Message Date
Heiko Schaefer
a9bf175ed6 Add architecture diagram and some notes on architecture 2021-08-27 22:30:21 +02:00
Heiko Schaefer
a55f0f6621 Use check_card_algo_ecc() when uploading keys: if algo_list is available and oid is not listed, error out of upload_key(). 2021-08-27 21:42:18 +02:00
Heiko Schaefer
cb2269c761 Remove redundant check_card_algo_e*() fn. 2021-08-27 21:29:23 +02:00
Heiko Schaefer
7748a7b1e0 Improve documentation of determining algorithm attributes for key import.
Implement setting of default RSA values when neither algo info nor algo attrs for import of an RSA key are available.
2021-08-27 21:12:36 +02:00
Heiko Schaefer
ea8e33b6d5 Return Err for unexpected cases. 2021-08-27 19:24:15 +02:00
Heiko Schaefer
0e37967200 Handle Attestation KeyType as a type of signing key. 2021-08-27 19:23:21 +02:00
Heiko Schaefer
e4eff705af Make AlgoSimple, Algo, Curve non_exhaustive. 2021-08-27 19:22:22 +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
454d50eb45 Make KeyType non_exhaustive. 2021-08-27 15:15:15 +02:00
Heiko Schaefer
64f05e93f5 Implement From/TryFrom for conversions of Historical and its members. 2021-08-27 13:55:55 +02:00
Heiko Schaefer
73829a6b27 Make handling of Historical Bytes more robust.
Add unit tests.
2021-08-27 13:39:30 +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
3d1b166911 Add comments 2021-08-26 20:40:36 +02:00
Heiko Schaefer
36cf10cbad Tests need to use RsaAttrs::new(). 2021-08-26 20:03:24 +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
794b04725f Remove redundant import. 2021-08-26 19:25:13 +02:00
Heiko Schaefer
38c701187d Fix clippy warnings 2021-08-26 18:23:34 +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
6001eacfa1 Make placeholder fn private, for now. 2021-08-26 14:47:41 +02:00
Heiko Schaefer
7e03ea5642 Use sequoia-ipc release. 2021-08-26 14:23:14 +02:00
Heiko Schaefer
faba8f6ca0 Fix comment 2021-08-26 14:11:16 +02:00
Heiko Schaefer
5df81dd464 Rename Fingerprint::from() -> to_keyset() 2021-08-25 21:27:28 +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
c6ba204293 Move debug prints for key generation from keys.rs to tests.rs 2021-08-25 21:18:13 +02:00
Heiko Schaefer
786515a7f4 Make fields of Command private. 2021-08-25 17:29:21 +02:00
Heiko Schaefer
833a22f8f0 Add test to explore cardholder cert functionality 2021-08-25 16:42:18 +02:00
Heiko Schaefer
39f48bf13b Add get_data() method to Response. 2021-08-25 16:42:00 +02:00
Heiko Schaefer
780b6e724c Implement get_cardholder_certificate()/set_cardholder_certificate() and select_data(). 2021-08-25 13:59:53 +02:00
Heiko Schaefer
20cfcead02 Adjust ExtendedCap field names 2021-08-25 13:32:30 +02:00
Heiko Schaefer
159af0d98c Explicitly depend on sequoia with branch="main", for the time being 2021-08-25 13:29:45 +02:00
Heiko Schaefer
f9bad31d63 Explicitly limit size of data. 2021-08-25 13:07:25 +02:00
Heiko Schaefer
6d08b34a87 Make mod test more readable. 2021-08-25 12:34:46 +02:00
Heiko Schaefer
5a766b78a4 Fix for older rust versions (std::array::IntoIter was only stabilized in 1.51.0) 2021-08-25 12:20:31 +02:00
Heiko Schaefer
02987a86e4 Add links to rustdoc. 2021-08-24 09:58:41 +02:00
Heiko Schaefer
013af97c23 Implement get_private() and set_private(). 2021-08-22 18:59:54 +02:00
Heiko Schaefer
cb8f3c7cb1 Elaborate "PW status bytes", fix broken naming of members.
Implement set_pw_status_bytes().
Add test code to card-functionality.
2021-08-22 01:20:14 +02:00
Heiko Schaefer
c14664b9d5 Implement get_security_support_template() 2021-08-21 20:22:03 +02:00
Heiko Schaefer
09ee8f4792 Add a get_data() helper fn 2021-08-21 19:38:17 +02:00
Heiko Schaefer
84cd586b18 Remove public visibility for unimplemented fn. 2021-08-21 19:02:04 +02:00
Heiko Schaefer
5109ac5445 Rename card_data -> card_do 2021-08-21 19:02:04 +02:00
Heiko Schaefer
b075ad5908 Clean up imports 2021-08-21 19:02:04 +02:00
Heiko Schaefer
0d27352520 Move tlv test to tlv.rs 2021-08-21 19:02:04 +02:00
Heiko Schaefer
f28c9c2204 Adjust visibility and add accessors to CardCaps. 2021-08-21 19:02:04 +02:00
Heiko Schaefer
a8c53056f0 Limit visibility of KeyType methods 2021-08-21 19:02:04 +02:00
Heiko Schaefer
6ad4231d16 Minor doc edits 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
0e0602f3d5 Move ResponseLength to OpenpgpCardError 2021-08-21 15:51:15 +02:00