Skip to main content

StaticKeyring

Struct StaticKeyring 

Source
pub struct StaticKeyring { /* private fields */ }
Expand description

In-memory keyring for tests and keys loaded from files or environment variables by a higher-level configuration layer.

Implementations§

Source§

impl StaticKeyring

Source

pub fn resolve(ids: impl IntoIterator<Item = KeyId>) -> Result<Self, KeyError>

Resolves each identity from its own source and returns the keyring.

Resolution happens once, here, so a misconfigured process fails at startup naming the key it could not read, rather than at its first blob read.

§Errors

Returns KeyError when any identity names an unsupported scheme, cannot be read, or does not hold 256 bits of material.

Source

pub fn insert(&mut self, id: KeyId, epoch: u32, key: SecretKey, current: bool)

Inserts material and optionally makes its epoch current for writes.

Trait Implementations§

Source§

impl Clone for StaticKeyring

Source§

fn clone(&self) -> StaticKeyring

Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Default for StaticKeyring

Source§

fn default() -> StaticKeyring

Returns the “default value” for a type. Read more
Source§

impl Keyring for StaticKeyring

Source§

fn key<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 KeyId, epoch: u32, ) -> Pin<Box<dyn Future<Output = Result<SecretKey, KeyError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Resolves material for a specific epoch.
Source§

fn current_epoch<'life0, 'life1, 'async_trait>( &'life0 self, id: &'life1 KeyId, ) -> Pin<Box<dyn Future<Output = Result<u32, KeyError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait,

Returns the epoch new writes should use.
Source§

fn wrap<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: &'life1 KeyId, epoch: u32, dek: &'life2 SecretKey, ) -> Pin<Box<dyn Future<Output = Result<Vec<u8>, KeyError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Wraps a data-encryption key under the requested key and epoch.
Source§

fn unwrap<'life0, 'life1, 'life2, 'async_trait>( &'life0 self, id: &'life1 KeyId, epoch: u32, wrapped: &'life2 [u8], ) -> Pin<Box<dyn Future<Output = Result<SecretKey, KeyError>> + Send + 'async_trait>>
where Self: 'async_trait, 'life0: 'async_trait, 'life1: 'async_trait, 'life2: 'async_trait,

Unwraps a stored data-encryption key.
Source§

fn key_ids(&self) -> &[KeyId]

Lists the key identities this process can resolve.

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T> Same for T

Source§

type Output = T

Should always be Self
Source§

impl<T> ToOwned for T
where T: Clone,

Source§

type Owned = T

The resulting type after obtaining ownership.
Source§

fn to_owned(&self) -> T

Creates owned data from borrowed data, usually by cloning. Read more
Source§

fn clone_into(&self, target: &mut T)

Uses borrowed data to replace owned data, usually by cloning. Read more
Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.