diff --git a/src/cmd_se_ecdh.rs b/src/cmd_se_ecdh.rs index ae261d0..c873c0c 100644 --- a/src/cmd_se_ecdh.rs +++ b/src/cmd_se_ecdh.rs @@ -44,9 +44,8 @@ impl Command for CommandImpl { util_msg::set_logger_std_out(false); } - let se_key_uri = match parse_key_uri(key)? { - KeyUri::SecureEnclaveKey(se_key_uri) => se_key_uri, - }; + let KeyUri::SecureEnclaveKey(se_key_uri) = parse_key_uri(key)?; + debugging!("Secure enclave key URI: {:?}", se_key_uri); let ephemeral_public_key_bytes = hex::decode(epk)?; let dh = diff --git a/src/cmd_se_ecsign.rs b/src/cmd_se_ecsign.rs index 52e3905..1cba876 100644 --- a/src/cmd_se_ecsign.rs +++ b/src/cmd_se_ecsign.rs @@ -55,10 +55,7 @@ impl Command for CommandImpl { util_msg::set_logger_std_out(false); } - let se_key_uri = match parse_key_uri(key)? { - KeyUri::SecureEnclaveKey(se_key_uri) => se_key_uri, - }; - + let KeyUri::SecureEnclaveKey(se_key_uri) = parse_key_uri(key)?; debugging!("Secure enclave key URI: {:?}", se_key_uri); let signature = seutil::secure_enclave_p256_sign(&se_key_uri.private_key, &message_bytes)?; diff --git a/src/keyutil.rs b/src/keyutil.rs index d6251be..f682b21 100644 --- a/src/keyutil.rs +++ b/src/keyutil.rs @@ -7,23 +7,23 @@ pub enum KeyUri { SecureEnclaveKey(SecureEnclaveKey), } -#[derive(Debug, PartialEq, Eq)] -pub enum KeyModule { - SecureEnclave, - OpenPgpCard, - PersonalIdentityVerification, -} - -impl KeyModule { - pub fn from(module: &str) -> Option { - match module { - "se" => Some(Self::SecureEnclave), - "pgp" => Some(Self::OpenPgpCard), - "piv" => Some(Self::PersonalIdentityVerification), - _ => None, - } - } -} +// #[derive(Debug, PartialEq, Eq)] +// pub enum KeyModule { +// SecureEnclave, +// OpenPgpCard, +// PersonalIdentityVerification, +// } +// +// impl KeyModule { +// pub fn from(module: &str) -> Option { +// match module { +// "se" => Some(Self::SecureEnclave), +// "pgp" => Some(Self::OpenPgpCard), +// "piv" => Some(Self::PersonalIdentityVerification), +// _ => None, +// } +// } +// } #[derive(Debug, PartialEq, Eq)] pub enum KeyUsage { @@ -37,12 +37,13 @@ impl KeyUsage { match usage { "signing" => Some(Self::Singing), "key_agreement" => Some(Self::KeyAgreement), - "*" => Some(Self::Singing), + "*" => Some(Self::Any), _ => None, } } } +#[allow(dead_code)] #[derive(Debug)] pub struct SecureEnclaveKey { pub host: String, @@ -75,11 +76,14 @@ pub fn parse_key_uri(key_uri: &str) -> XResult { Some(key_usage) => key_usage, }; - Ok(KeyUri::SecureEnclaveKey(SecureEnclaveKey { + let parsed_key_uri = KeyUri::SecureEnclaveKey(SecureEnclaveKey { host: host.to_string(), usage: key_usage, private_key: left_part.to_string(), - })) + }); + + debugging!("Parsed key uri: {:?}", parsed_key_uri); + Ok(parsed_key_uri) } #[test] diff --git a/src/main.rs b/src/main.rs index 1575c69..8ca1e75 100644 --- a/src/main.rs +++ b/src/main.rs @@ -33,11 +33,11 @@ mod cmd_rsaverify; #[cfg(feature = "with-secure-enclave")] mod cmd_se; #[cfg(feature = "with-secure-enclave")] -mod cmd_se_generate; +mod cmd_se_ecdh; #[cfg(feature = "with-secure-enclave")] mod cmd_se_ecsign; #[cfg(feature = "with-secure-enclave")] -mod cmd_se_ecdh; +mod cmd_se_generate; mod cmd_signfile; mod cmd_signjwt; mod cmd_sshagent; @@ -54,6 +54,7 @@ mod ecdhutil; mod ecdsautil; mod fido; mod hmacutil; +mod keyutil; mod pgpcardutil; mod pinutil; mod pivutil; @@ -64,7 +65,6 @@ mod seutil; mod signfile; mod sshutil; mod util; -mod keyutil; pub struct DefaultCommandImpl; @@ -138,11 +138,15 @@ fn inner_main() -> CommandError { Box::new(cmd_se_ecdh::CommandImpl), ]; - let mut features: Vec<&str> = vec![]; - #[cfg(feature = "with-sequoia-openpgp")] - features.push("sequoia-openpgp"); - #[cfg(feature = "with-secure-enclave")] - features.push("secure-enclave"); + #[allow(clippy::vec_init_then_push)] + let features = { + let mut features: Vec<&str> = vec![]; + #[cfg(feature = "with-sequoia-openpgp")] + features.push("sequoia-openpgp"); + #[cfg(feature = "with-secure-enclave")] + features.push("secure-enclave"); + features + }; let about = format!( "{}, features: [{}]", "Card Cli is a command tool for WebAuthn, OpenPGP, YubiKey ... smart cards",