1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
use crate::secret::Secret;
use crate::{KeyId, PublicKey};
use ockam_core::Result;
use ockam_core::{async_trait, compat::boxed::Box};

/// Key id related vault functionality
#[async_trait]
pub trait KeyIdVault {
    /// Return [`Secret`] for given key id
    async fn get_secret_by_key_id(&mut self, key_id: &str) -> Result<Secret>;
    /// Return KeyId for given public key
    async fn compute_key_id_for_public_key(&mut self, public_key: &PublicKey) -> Result<KeyId>;
}