pub struct Sig {
pub alg: SigAlg,
pub signature: String,
pub signer_cert: String,
}Expand description
The signature block of an Envelope (present only when signed).
Carries the signer’s leaf certificate so verification is self-contained: a verifier validates the leaf against the pinned CA it already trusts and derives the authoritative CN + public key from it — never from a claimed field (ADR-020 §3, the carry-cert model). This is what lets verification work on a pure member node, which keeps no roster of other members’ keys.
Fields§
§alg: SigAlgSignature algorithm. A closed set pinned by the envelope version; the
verifier still selects its construction from Envelope::v, never trusts
this field to choose a codepath.
signature: StringThe signature over the canonical envelope bytes, base64 (standard) encoded.
signer_cert: StringThe signer’s leaf certificate, DER, base64 (standard) encoded. The CN, public key, serial, and validity are all read from here (authoritative).
Trait Implementations§
Source§impl<'de> Deserialize<'de> for Sig
impl<'de> Deserialize<'de> for Sig
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>,
impl Eq for Sig
impl StructuralPartialEq for Sig
Auto Trait Implementations§
impl Freeze for Sig
impl RefUnwindSafe for Sig
impl Send for Sig
impl Sync for Sig
impl Unpin for Sig
impl UnsafeUnpin for Sig
impl UnwindSafe for Sig
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
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
key and return true if they are equal.