From 44f6d1c82715f628ca53fddedae23a780d560701 Mon Sep 17 00:00:00 2001 From: Gabriela Moldovan Date: Thu, 27 Jul 2023 11:03:06 +0100 Subject: [PATCH] keymgr: Make Keystore::generate() return a Result. --- crates/tor-keymgr/src/keystore.rs | 10 +++++----- crates/tor-keymgr/src/mgr.rs | 6 +++--- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/crates/tor-keymgr/src/keystore.rs b/crates/tor-keymgr/src/keystore.rs index d5da68fc5..8ce0c929b 100644 --- a/crates/tor-keymgr/src/keystore.rs +++ b/crates/tor-keymgr/src/keystore.rs @@ -83,7 +83,7 @@ pub trait EncodableKey: Downcast { Self: Sized; /// Generate a new key of this type. - fn generate(rng: &mut dyn KeygenRng) -> Self + fn generate(rng: &mut dyn KeygenRng) -> Result where Self: Sized; @@ -101,11 +101,11 @@ impl EncodableKey for curve25519::StaticSecret { KeyType::X25519StaticSecret } - fn generate(rng: &mut dyn KeygenRng) -> Self + fn generate(rng: &mut dyn KeygenRng) -> Result where Self: Sized, { - curve25519::StaticSecret::new(rng) + Ok(curve25519::StaticSecret::new(rng)) } fn to_bytes(&self) -> Result>> { @@ -121,13 +121,13 @@ impl EncodableKey for ed25519::Keypair { KeyType::Ed25519Keypair } - fn generate(rng: &mut dyn KeygenRng) -> Self + fn generate(rng: &mut dyn KeygenRng) -> Result where Self: Sized, { use tor_llcrypto::util::rand_compat::RngCompatExt; - ed25519::Keypair::generate(&mut rng.rng_compat()) + Ok(ed25519::Keypair::generate(&mut rng.rng_compat())) } fn to_bytes(&self) -> Result>> { diff --git a/crates/tor-keymgr/src/mgr.rs b/crates/tor-keymgr/src/mgr.rs index 848129e3d..87c1ea5c4 100644 --- a/crates/tor-keymgr/src/mgr.rs +++ b/crates/tor-keymgr/src/mgr.rs @@ -61,7 +61,7 @@ impl KeyMgr { let key_type = K::Key::key_type(); if overwrite || !store.contains(key_spec, key_type)? { - let key = K::Key::generate(rng); + let key = K::Key::generate(rng)?; store.insert(&key, key_spec, key_type) } else { Ok(()) @@ -189,11 +189,11 @@ mod tests { KeyType::Ed25519Keypair } - fn generate(_rng: &mut dyn KeygenRng) -> Self + fn generate(_rng: &mut dyn KeygenRng) -> Result where Self: Sized, { - "generated_test_key".into() + Ok("generated_test_key".into()) } fn to_bytes(&self) -> Result>> {