pub struct OwnerKeyBinding {
pub format_version: u32,
pub stable_owner_uuid: Vec<u8>,
pub root_public_key: Option<AuthorizationVerificationKey>,
pub root_state_hash: Vec<u8>,
pub kind: i32,
pub binding_epoch: u64,
pub challenge_nonce: Vec<u8>,
pub root_proof_of_possession: Option<AuthorizationSignature>,
pub registry_attestation: Option<AuthorizationSignature>,
}Expand description
Registry-attested attachment of a root key to the stable owner UUID.
stable_owner_uuid is exactly 16 bytes and never changes. challenge_nonce
is exactly 32 bytes, single-use, and scoped by the service to the registry
principal and UUID. binding_epoch begins at one and increases monotonically.
root_proof_of_possession signs: SHA-256(“heddle-owner-key-binding-v1” || canonical_owner_key_binding_v1_without_proofs)
registry_attestation signs the same body plus root_proof_of_possession. The registry attestation key comes from pinned release trust roots; PullReady and a sidecar can neither supply nor replace that key.
Fields§
§format_version: u32Exactly 1.
stable_owner_uuid: Vec<u8>§root_public_key: Option<AuthorizationVerificationKey>§root_state_hash: Vec<u8>§kind: i32§binding_epoch: u64§challenge_nonce: Vec<u8>§root_proof_of_possession: Option<AuthorizationSignature>§registry_attestation: Option<AuthorizationSignature>Implementations§
Source§impl OwnerKeyBinding
impl OwnerKeyBinding
Sourcepub fn kind(&self) -> OwnerKeyBindingKind
pub fn kind(&self) -> OwnerKeyBindingKind
Returns the enum value of kind, or the default if the field is set to an invalid enum value.
Sourcepub fn set_kind(&mut self, value: OwnerKeyBindingKind)
pub fn set_kind(&mut self, value: OwnerKeyBindingKind)
Sets kind to the provided enum value.
Trait Implementations§
Source§impl Clone for OwnerKeyBinding
impl Clone for OwnerKeyBinding
Source§fn clone(&self) -> OwnerKeyBinding
fn clone(&self) -> OwnerKeyBinding
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for OwnerKeyBinding
impl Debug for OwnerKeyBinding
Source§impl Default for OwnerKeyBinding
impl Default for OwnerKeyBinding
impl Eq for OwnerKeyBinding
Source§impl Hash for OwnerKeyBinding
impl Hash for OwnerKeyBinding
Source§impl Message for OwnerKeyBinding
impl Message for OwnerKeyBinding
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Source§fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
fn encode(&self, buf: &mut impl BufMut) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
fn encode_length_delimited(
&self,
buf: &mut impl BufMut,
) -> Result<(), EncodeError>where
Self: Sized,
Source§fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_length_delimited_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode_length_delimited(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Source§fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self. Read moreSource§fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
fn merge_length_delimited(&mut self, buf: impl Buf) -> Result<(), DecodeError>where
Self: Sized,
self.