From 76c093e68e38b120d10dc65e6b9033514e669aa8 Mon Sep 17 00:00:00 2001 From: Jack Grigg Date: Mon, 2 Dec 2019 02:31:33 +0000 Subject: [PATCH] Minor cleanups --- src/key.rs | 5 ++--- src/yubikey.rs | 6 ++++-- 2 files changed, 6 insertions(+), 5 deletions(-) diff --git a/src/key.rs b/src/key.rs index 50152ea..11ac520 100644 --- a/src/key.rs +++ b/src/key.rs @@ -422,7 +422,6 @@ pub fn generate( pin_policy: PinPolicy, touch_policy: TouchPolicy, ) -> Result { - let mut templ = [0, Ins::GenerateAsymmetric.code(), 0, 0]; let setting_roca: settings::BoolValue; match algorithm { @@ -470,7 +469,7 @@ pub fn generate( let txn = yubikey.begin_transaction()?; - templ[3] = slot.into(); + let templ = [0, Ins::GenerateAsymmetric.code(), 0, slot.into()]; let mut in_data = [0u8; 11]; in_data[0] = 0xac; @@ -512,7 +511,7 @@ pub fn generate( return Err(Error::AuthenticationError); } other => { - error!("{} (error {:x})", err_msg, other.code()); + error!("{} (error {:?})", err_msg, other); return Err(Error::GenericError); } } diff --git a/src/yubikey.rs b/src/yubikey.rs index 47c9986..725ccd6 100644 --- a/src/yubikey.rs +++ b/src/yubikey.rs @@ -227,10 +227,12 @@ impl YubiKey { pub fn authenticate(&mut self, mgm_key: MgmKey) -> Result<(), Error> { let txn = self.begin_transaction()?; + const TAG_DYN_AUTH: u8 = 0x7c; + // get a challenge from the card let challenge = APDU::new(Ins::Authenticate) .params(YKPIV_ALGO_3DES, YKPIV_KEY_CARDMGM) - .data(&[0x7c, 0x02, 0x80, 0x00]) + .data(&[TAG_DYN_AUTH, 0x02, 0x80, 0x00]) .transmit(&txn, 261)?; if !challenge.is_success() || challenge.data().len() < 12 { @@ -241,7 +243,7 @@ impl YubiKey { let response = mgm_key.decrypt(challenge.data()[4..12].try_into().unwrap()); let mut data = [0u8; 22]; - data[0] = 0x7c; + data[0] = TAG_DYN_AUTH; data[1] = 20; // 2 + 8 + 2 +8 data[2] = 0x80; data[3] = 8;