keymgr: Make Keystore::generate() return a Result.
This commit is contained in:
parent
89dc3a162a
commit
44f6d1c827
|
@ -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<Self>
|
||||
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<Self>
|
||||
where
|
||||
Self: Sized,
|
||||
{
|
||||
curve25519::StaticSecret::new(rng)
|
||||
Ok(curve25519::StaticSecret::new(rng))
|
||||
}
|
||||
|
||||
fn to_bytes(&self) -> Result<Zeroizing<Vec<u8>>> {
|
||||
|
@ -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<Self>
|
||||
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<Zeroizing<Vec<u8>>> {
|
||||
|
|
|
@ -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<Self>
|
||||
where
|
||||
Self: Sized,
|
||||
{
|
||||
"generated_test_key".into()
|
||||
Ok("generated_test_key".into())
|
||||
}
|
||||
|
||||
fn to_bytes(&self) -> Result<zeroize::Zeroizing<Vec<u8>>> {
|
||||
|
|
Loading…
Reference in New Issue