pub struct Identity {
pub hostname: String,
pub cert_pem: String,
pub key_pem: String,
pub ca_cert_pem: String,
pub ca_fingerprint: String,
pub renewal: RenewalHealth,
}Expand description
This node’s live cryptographic identity (ADR-020 §7): its CA-signed leaf plus
the CA anchor it chains to. The unified replacement for the previously
fragmented SelfEnrollment (cert/key/CA, no hostname) and
member::MemberState (CA coordinates, no cert). Returned by
CertmeshCore::local_identity and ensure_identity.
Cloneable so the same leaf can configure multiple listeners/clients. Debug
is redacted — the private key is never logged.
Fields§
§hostname: StringThis node’s hostname (its certificate CN / cert directory name).
cert_pem: StringThe node’s leaf certificate (PEM), signed by the CA.
key_pem: StringThe node’s private key (PEM). Never logged (redacted Debug).
ca_cert_pem: StringThe CA root certificate (PEM) the leaf chains to.
ca_fingerprint: StringSHA-256 (hex) of the CA cert DER — the pin peers verify against.
renewal: RenewalHealthRenewal/expiry health of the leaf (ADR-020 §13: “loud, not silent”).
Trait Implementations§
Auto Trait Implementations§
impl Freeze for Identity
impl RefUnwindSafe for Identity
impl Send for Identity
impl Sync for Identity
impl Unpin for Identity
impl UnsafeUnpin for Identity
impl UnwindSafe for Identity
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
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>
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>
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