opgpcard: rename "key_status" to "additional_key_status".

This field will only contain data in rare cases (I don't know of a card where it will) when a card has key information for unusual key types (also see OpenPGP card spec 3.4.1 pg.43)
This commit is contained in:
Heiko Schaefer 2022-10-31 18:13:26 +01:00
parent bfaff6b9bf
commit 87a80a4797
No known key found for this signature in database
GPG key ID: 4A849A1904CCBD7D
2 changed files with 14 additions and 8 deletions

View file

@ -199,7 +199,10 @@ pub fn print_status(
for i in 0..num { for i in 0..num {
// 0x81 is the Yubico attestation key, it has already been used above -> skip here // 0x81 is the Yubico attestation key, it has already been used above -> skip here
if ki.additional_ref(i) != 0x81 { if ki.additional_ref(i) != 0x81 {
output.key_status(ki.additional_ref(i), ki.additional_status(i).to_string()); output.additional_key_status(
ki.additional_ref(i),
ki.additional_status(i).to_string(),
);
} }
} }
} }

View file

@ -24,7 +24,7 @@ pub struct Status {
user_pin_remaining_attempts: u8, user_pin_remaining_attempts: u8,
admin_pin_remaining_attempts: u8, admin_pin_remaining_attempts: u8,
reset_code_remaining_attempts: u8, reset_code_remaining_attempts: u8,
key_statuses: Vec<(u8, String)>, additional_key_statuses: Vec<(u8, String)>,
ca_fingerprints: Vec<String>, ca_fingerprints: Vec<String>,
} }
@ -93,8 +93,8 @@ impl Status {
self.reset_code_remaining_attempts = count; self.reset_code_remaining_attempts = count;
} }
pub fn key_status(&mut self, keyref: u8, status: String) { pub fn additional_key_status(&mut self, keyref: u8, status: String) {
self.key_statuses.push((keyref, status)); self.additional_key_statuses.push((keyref, status));
} }
pub fn ca_fingerprint(&mut self, fingerprint: String) { pub fn ca_fingerprint(&mut self, fingerprint: String) {
@ -182,8 +182,11 @@ impl Status {
)); ));
if self.verbose { if self.verbose {
for (keyref, status) in self.key_statuses.iter() { for (keyref, status) in self.additional_key_statuses.iter() {
s.push_str(&format!("Key status (#{}): {}\n", keyref, status)); s.push_str(&format!(
"Additional key status (#{}): {}\n",
keyref, status
));
} }
} }
@ -207,7 +210,7 @@ impl Status {
user_pin_remaining_attempts: self.user_pin_remaining_attempts, user_pin_remaining_attempts: self.user_pin_remaining_attempts,
admin_pin_remaining_attempts: self.admin_pin_remaining_attempts, admin_pin_remaining_attempts: self.admin_pin_remaining_attempts,
reset_code_remaining_attempts: self.reset_code_remaining_attempts, reset_code_remaining_attempts: self.reset_code_remaining_attempts,
// key_statuses: self.key_statuses.clone(), additional_key_statuses: self.additional_key_statuses.clone(),
// ca_fingerprints: self.ca_fingerprints.clone(), // ca_fingerprints: self.ca_fingerprints.clone(),
}) })
} }
@ -256,7 +259,7 @@ pub struct StatusV0 {
user_pin_remaining_attempts: u8, user_pin_remaining_attempts: u8,
admin_pin_remaining_attempts: u8, admin_pin_remaining_attempts: u8,
reset_code_remaining_attempts: u8, reset_code_remaining_attempts: u8,
// key_statuses: Vec<(u8, String)>, // TODO: add to JSON output after clarifying the content additional_key_statuses: Vec<(u8, String)>,
// ca_fingerprints: Vec<String>, // TODO: add to JSON output after clarifying the content // ca_fingerprints: Vec<String>, // TODO: add to JSON output after clarifying the content
} }