pub struct StreamLockboxRef(/* private fields */);Expand description
An encrypted StreamKey.
This must be decrypted by the matching recipient, which will return the StreamKey on
success. It can either be decrypted on its own, returning a temporary StreamKey, or
through a Vault, which will store the StreamKey.
This is only a reference to an encrypted payload. The owned version is StreamLockbox.
See: StreamKey::decrypt_stream_key,
LockKey::decrypt_stream_key, and
Vault::decrypt_stream_key.
§Example
Using a StreamKey for decryption (different from the one contained in the lockbox!):
// We have `enc`, a byte vector containing a lockbox
let dec_lockbox: &StreamLockboxRef = StreamLockboxRef::from_bytes(&enc[..])?;
let recipient: LockboxRecipient = dec_lockbox.recipient();
// ...
// Retrieve the key by looking up recipient
// ...
let dec_key: StreamKey = key.decrypt_stream_key(&dec_lockbox)?;Implementations§
Source§impl StreamLockboxRef
impl StreamLockboxRef
Sourcepub fn as_parts(&self) -> LockboxParts<'_>
pub fn as_parts(&self) -> LockboxParts<'_>
Decompose the lockbox into its component parts.
Sourcepub fn recipient(&self) -> LockboxRecipient
pub fn recipient(&self) -> LockboxRecipient
Get the target recipient who can decrypt this.
pub fn from_bytes(buf: &[u8]) -> Result<&StreamLockboxRef, CryptoError>
Trait Implementations§
Source§impl Borrow<StreamLockboxRef> for StreamLockbox
impl Borrow<StreamLockboxRef> for StreamLockbox
Source§fn borrow(&self) -> &StreamLockboxRef
fn borrow(&self) -> &StreamLockboxRef
Immutably borrows from an owned value. Read more
Source§impl Debug for StreamLockboxRef
impl Debug for StreamLockboxRef
Source§impl<'de, 'a> Deserialize<'de> for &'a StreamLockboxRefwhere
'de: 'a,
impl<'de, 'a> Deserialize<'de> for &'a StreamLockboxRefwhere
'de: 'a,
Source§fn deserialize<D>(
deserializer: D,
) -> Result<&'a StreamLockboxRef, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<&'a StreamLockboxRef, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'a> From<&'a StreamLockboxRef> for ValueRef<'a>
impl<'a> From<&'a StreamLockboxRef> for ValueRef<'a>
Source§fn from(v: &'a StreamLockboxRef) -> Self
fn from(v: &'a StreamLockboxRef) -> Self
Converts to this type from the input type.
Source§impl Hash for StreamLockboxRef
impl Hash for StreamLockboxRef
Source§impl PartialEq for StreamLockboxRef
impl PartialEq for StreamLockboxRef
Source§impl Serialize for StreamLockboxRef
impl Serialize for StreamLockboxRef
Source§fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
fn serialize<S>(
&self,
serializer: S,
) -> Result<<S as Serializer>::Ok, <S as Serializer>::Error>where
S: Serializer,
Serialize this value into the given Serde serializer. Read more
Source§impl ToOwned for StreamLockboxRef
impl ToOwned for StreamLockboxRef
Source§type Owned = StreamLockbox
type Owned = StreamLockbox
The resulting type after obtaining ownership.
Source§fn to_owned(&self) -> <StreamLockboxRef as ToOwned>::Owned
fn to_owned(&self) -> <StreamLockboxRef as ToOwned>::Owned
Creates owned data from borrowed data, usually by cloning. Read more
1.63.0 · Source§fn clone_into(&self, target: &mut Self::Owned)
fn clone_into(&self, target: &mut Self::Owned)
Uses borrowed data to replace owned data, usually by cloning. Read more