pub struct EscrowBlob {
pub recipient_quorum_id: String,
pub encapsulated_key: Vec<u8>,
pub ciphertext: Vec<u8>,
pub nonce: Vec<u8>,
pub aad: Vec<u8>,
pub metadata: EscrowMetadata,
}Expand description
An escrowed key (or any secret) — encrypted to a threshold KEM public key.
Recovery requires T-of-N custodians to participate in an async threshold decryption ceremony. The structure intentionally mirrors CMS-style “envelope” patterns.
Fields§
§recipient_quorum_id: StringIdentifies the recipient quorum (e.g., “biml-escrow-quorum”).
encapsulated_key: Vec<u8>Threshold KEM encapsulated key (algorithm-specific bytes).
ciphertext: Vec<u8>AEAD ciphertext of the plaintext key, using the KEM-derived shared secret.
nonce: Vec<u8>AEAD nonce.
aad: Vec<u8>AEAD additional data (typically the metadata hash).
metadata: EscrowMetadataEscrow metadata.
Implementations§
Source§impl EscrowBlob
impl EscrowBlob
Sourcepub fn fingerprint(&self) -> [u8; 32]
pub fn fingerprint(&self) -> [u8; 32]
Compute the SHA-256 fingerprint of this blob (canonical JSON, then hash).
Trait Implementations§
Source§impl Clone for EscrowBlob
impl Clone for EscrowBlob
Source§fn clone(&self) -> EscrowBlob
fn clone(&self) -> EscrowBlob
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for EscrowBlob
impl Debug for EscrowBlob
Source§impl<'de> Deserialize<'de> for EscrowBlob
impl<'de> Deserialize<'de> for EscrowBlob
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>,
Deserialize this value from the given Serde deserializer. Read more
Auto Trait Implementations§
impl Freeze for EscrowBlob
impl RefUnwindSafe for EscrowBlob
impl Send for EscrowBlob
impl Sync for EscrowBlob
impl Unpin for EscrowBlob
impl UnsafeUnpin for EscrowBlob
impl UnwindSafe for EscrowBlob
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