pub struct Posture {
pub signed: bool,
pub encrypted: bool,
}Expand description
A node’s (or a discovered peer’s) trust posture: two orthogonal cryptographic dimensions.
signed— a usable cryptographic identity is present (the node can sign and speak mTLS). This is exactly Koi’s historical “secure” bit (ADR-016 §2).encrypted— group-key confidentiality is available (the future Confidential rung; staysfalseuntil theseal/openencryption rung lands, ADR-020 §4).
Every mode-transparent primitive (sign/verify, serve, client_for, require_auth, seal/open) consults this and adapts. Wire-stable (serde + schema) so a peer’s posture can travel in discovery and the published wire contract (ADR-020 §9).
Fields§
§signed: boolA usable cryptographic identity is present (can sign / speak mTLS).
encrypted: boolGroup-key confidentiality is available (the future Confidential rung).
Implementations§
Source§impl Posture
impl Posture
Sourcepub const fn level(self) -> PostureLevel
pub const fn level(self) -> PostureLevel
The named level this posture resolves to.
encrypted without signed is meaningless (no confidential trust without
an identity), so any unsigned posture is PostureLevel::Open.
Trait Implementations§
impl Copy for Posture
Source§impl<'de> Deserialize<'de> for Posture
impl<'de> Deserialize<'de> for Posture
Source§fn deserialize<__D>(
__deserializer: __D,
) -> Result<Posture, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(
__deserializer: __D,
) -> Result<Posture, <__D as Deserializer<'de>>::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
impl Eq for Posture
Source§impl From<Posture> for PostureLevel
impl From<Posture> for PostureLevel
Source§fn from(p: Posture) -> PostureLevel
fn from(p: Posture) -> PostureLevel
Converts to this type from the input type.
Source§impl Serialize for Posture
impl Serialize for Posture
Source§fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
fn serialize<__S>(
&self,
__serializer: __S,
) -> Result<<__S as Serializer>::Ok, <__S as Serializer>::Error>where
__S: Serializer,
Serialize this value into the given Serde serializer. Read more
impl StructuralPartialEq for Posture
Auto Trait Implementations§
impl Freeze for Posture
impl RefUnwindSafe for Posture
impl Send for Posture
impl Sync for Posture
impl Unpin for Posture
impl UnsafeUnpin for Posture
impl UnwindSafe for Posture
Blanket Implementations§
Source§impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedExplicit<'a, E> for Twhere
T: 'a,
Source§impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
impl<'a, T, E> AsTaggedImplicit<'a, E> for Twhere
T: 'a,
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
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<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§impl<Q, K> Equivalent<K> for Q
impl<Q, K> Equivalent<K> for Q
Source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
Compare self to
key and return true if they are equal.impl<A, B, T> HttpServerConnExec<A, B> for Twhere
B: Body,
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