pub struct GetSecretIdsVersionsResponseMessage {
pub result: Option<DeRecResult>,
pub secret_list: Vec<VersionList>,
pub timestamp: Option<Timestamp>,
}Expand description
GetSecretIdsVersionsResponseMessage returns the list of all secrets and their corresponding share versions stored by the Helper for the Owner.
§Semantics
Each entry in secretList represents:
- a
secretIdpreviously shared by the Owner - the list of share versions currently stored for that secret
This allows the recovering Owner to:
- discover which secrets exist
- determine which versions to request via GetShareRequestMessage
§Authorization and Privacy
The Helper MUST ensure that:
- the requester is authenticated as the same Owner
- the request originates from a recovery-mode channel
Only under these conditions may the Helper return the full list of secrets.
Otherwise, the Helper MUST:
- return partial data (e.g., only for the current secretId), or
- return a failure result
§Security Considerations
- This message reveals metadata about stored secrets
- It MUST only be sent over an authenticated and encrypted channel
- Unauthorized disclosure could leak information about user activity
§Idempotency
For a given Helper state, repeated responses SHOULD return the same data.
Fields§
§result: Option<DeRecResult>Result of processing the request.
Indicates whether the request was successfully processed or rejected.
secret_list: Vec<VersionList>List of secrets and their stored versions.
Each entry corresponds to one secretId and the versions available for that secret.
timestamp: Option<Timestamp>Timestamp indicating when this message was created.
This value is expressed in UTC and can be used for:
- observability and logging
- replay detection (in combination with sequence numbers)
- timeout handling
Trait Implementations§
Source§impl Clone for GetSecretIdsVersionsResponseMessage
impl Clone for GetSecretIdsVersionsResponseMessage
Source§fn clone(&self) -> GetSecretIdsVersionsResponseMessage
fn clone(&self) -> GetSecretIdsVersionsResponseMessage
Returns a duplicate of the value. Read more
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Message for GetSecretIdsVersionsResponseMessage
impl Message for GetSecretIdsVersionsResponseMessage
Source§fn encoded_len(&self) -> usize
fn encoded_len(&self) -> usize
Returns the encoded length of the message without a length delimiter.
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,
Encodes the message to a buffer. Read more
Source§fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
fn encode_to_vec(&self) -> Vec<u8> ⓘwhere
Self: Sized,
Encodes the message to a newly allocated buffer.
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,
Encodes the message with a length-delimiter to a buffer. Read more
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,
Encodes the message with a length-delimiter to a newly allocated buffer.
Source§fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
fn decode(buf: impl Buf) -> Result<Self, DecodeError>where
Self: Default,
Decodes an instance of the message from a buffer. Read more
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,
Decodes a length-delimited instance of the message from the buffer.
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,
Decodes an instance of the message from a buffer, and merges it into
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,
Decodes a length-delimited instance of the message from buffer, and
merges it into
self.Source§impl PartialEq for GetSecretIdsVersionsResponseMessage
impl PartialEq for GetSecretIdsVersionsResponseMessage
Source§fn eq(&self, other: &GetSecretIdsVersionsResponseMessage) -> bool
fn eq(&self, other: &GetSecretIdsVersionsResponseMessage) -> bool
Tests for
self and other values to be equal, and is used by ==.impl StructuralPartialEq for GetSecretIdsVersionsResponseMessage
Auto Trait Implementations§
impl Freeze for GetSecretIdsVersionsResponseMessage
impl RefUnwindSafe for GetSecretIdsVersionsResponseMessage
impl Send for GetSecretIdsVersionsResponseMessage
impl Sync for GetSecretIdsVersionsResponseMessage
impl Unpin for GetSecretIdsVersionsResponseMessage
impl UnsafeUnpin for GetSecretIdsVersionsResponseMessage
impl UnwindSafe for GetSecretIdsVersionsResponseMessage
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