Skip to main content

KeyProvider

Trait KeyProvider 

Source
pub trait KeyProvider: Send + Sync {
    // Required methods
    fn active_key_id(&self) -> Result<String, KeyProviderError>;
    fn key_for(
        &self,
        key_id: &str,
    ) -> Result<Zeroizing<[u8; 32]>, KeyProviderError>;
}
Expand description

Host-owned source of AES-256 keys.

Required Methods§

Source

fn active_key_id(&self) -> Result<String, KeyProviderError>

Returns the key id used for new private writes.

§Errors

Returns a secret-free KeyProviderError when no write key is available.

Source

fn key_for(&self, key_id: &str) -> Result<Zeroizing<[u8; 32]>, KeyProviderError>

Returns key material for an envelope key id.

§Errors

Returns a secret-free KeyProviderError for missing, expired, or unavailable keys.

Dyn Compatibility§

This trait is dyn compatible.

In older versions of Rust, dyn compatibility was called "object safety".

Implementors§