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§
Sourcefn active_key_id(&self) -> Result<String, KeyProviderError>
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.
Sourcefn key_for(&self, key_id: &str) -> Result<Zeroizing<[u8; 32]>, KeyProviderError>
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".