pub struct EncryptionKey {
pub alias: String,
pub created_at: String,
pub key_hex: String,
}Expand description
A configured symmetric encryption key’s metadata, including its secret
key material as a plain field (ADR-0026, secret storage per ADR-0135) –
keyring.toml is this entry’s sole storage since ADR-0135 retired the OS
keychain, protected only by Store::save’s 0600 file permissions.
Deliberately has no #[serde(default)] on key_hex: a pre-ADR-0135
entry with no secret field fails to parse loudly rather than silently
loading an empty key.
Fields§
§alias: String§created_at: StringRFC3339, set once at creation; never updated by modify – rotating
the secret changes the key, not when the entry was made.
key_hex: String64 hex characters (32 bytes / 256 bits). See
crate::core::keyring::credentials::resolve_secret for the one
remaining override (ADR-0087’s PIGEON_SECRET_<ALIAS>).
Trait Implementations§
Source§impl Clone for EncryptionKey
impl Clone for EncryptionKey
Source§impl Debug for EncryptionKey
impl Debug for EncryptionKey
Source§impl<'de> Deserialize<'de> for EncryptionKey
impl<'de> Deserialize<'de> for EncryptionKey
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for EncryptionKey
impl RefUnwindSafe for EncryptionKey
impl Send for EncryptionKey
impl Sync for EncryptionKey
impl Unpin for EncryptionKey
impl UnsafeUnpin for EncryptionKey
impl UnwindSafe for EncryptionKey
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
impl<ST, DT> CastableFrom<ST, Initialized, Initialized> for DT
impl<ST, DT> CastableFrom<ST, Uninit, Uninit> for DT
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> DeserializeOwned for Twhere
T: for<'de> Deserialize<'de>,
Source§impl<T> Instrument for T
impl<T> Instrument for T
Source§fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
fn instrument(self, span: Span) -> Instrumented<Self> ⓘ
Source§fn in_current_span(self) -> Instrumented<Self> ⓘ
fn in_current_span(self) -> Instrumented<Self> ⓘ
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more