Trait tor_keymgr::keystore::Keystore
source · pub trait Keystore: Send + Sync + 'static {
// Required methods
fn id(&self) -> &KeystoreId;
fn contains(
&self,
key_spec: &dyn KeySpecifier,
key_type: &KeyType
) -> Result<bool>;
fn get(
&self,
key_spec: &dyn KeySpecifier,
key_type: &KeyType
) -> Result<Option<ErasedKey>>;
fn insert(
&self,
key: &dyn EncodableKey,
key_spec: &dyn KeySpecifier,
key_type: &KeyType
) -> Result<()>;
fn remove(
&self,
key_spec: &dyn KeySpecifier,
key_type: &KeyType
) -> Result<Option<()>>;
fn list(&self) -> Result<Vec<(KeyPath, KeyType)>>;
}
Available on crate feature
keymgr
only.Expand description
A generic key store.
Required Methods§
sourcefn id(&self) -> &KeystoreId
fn id(&self) -> &KeystoreId
An identifier for this key store instance.
This identifier is used by some KeyMgr
APIs to identify a specific key
store.
sourcefn contains(
&self,
key_spec: &dyn KeySpecifier,
key_type: &KeyType
) -> Result<bool>
fn contains( &self, key_spec: &dyn KeySpecifier, key_type: &KeyType ) -> Result<bool>
Check if the key identified by key_spec
exists in this key store.
sourcefn get(
&self,
key_spec: &dyn KeySpecifier,
key_type: &KeyType
) -> Result<Option<ErasedKey>>
fn get( &self, key_spec: &dyn KeySpecifier, key_type: &KeyType ) -> Result<Option<ErasedKey>>
Retrieve the key identified by key_spec
.
Returns Ok(Some(key))
if the key was successfully retrieved. Returns Ok(None)
if the
key does not exist in this key store.
sourcefn insert(
&self,
key: &dyn EncodableKey,
key_spec: &dyn KeySpecifier,
key_type: &KeyType
) -> Result<()>
fn insert( &self, key: &dyn EncodableKey, key_spec: &dyn KeySpecifier, key_type: &KeyType ) -> Result<()>
Write key
to the key store.
sourcefn remove(
&self,
key_spec: &dyn KeySpecifier,
key_type: &KeyType
) -> Result<Option<()>>
fn remove( &self, key_spec: &dyn KeySpecifier, key_type: &KeyType ) -> Result<Option<()>>
Remove the specified key.
A return value of Ok(None)
indicates the key doesn’t exist in this key store, whereas
Ok(Some(())
means the key was successfully removed.
Returns Err
if an error occurred while trying to remove the key.