Struct fog_crypto::lockbox::LockLockboxRef
source · pub struct LockLockboxRef(_);
Expand description
An reference to an encrypted LockKey
.
This must be decrypted by the matching recipient, which will return the LockKey
on success.
It can either be decrypted on its own, returning a temporary LockKey
, or through a Vault,
which will store the LockKey
.
This is only a reference to an encrypted payload. The owned version is LockLockbox
.
See: StreamKey::decrypt_lock_key
,
LockKey::decrypt_lock_key
, and
Vault::decrypt_lock_key
.
Example
Using a StreamKey
for decryption:
// We have `enc`, a byte vector containing a lockbox
let dec_lockbox: &LockLockboxRef = LockLockboxRef::from_bytes(&enc[..])?;
let recipient: LockboxRecipient = dec_lockbox.recipient();
// ...
// Retrieve the key by looking up recipient
// ...
let dec_key: LockKey = key.decrypt_lock_key(&dec_lockbox)?;
Implementations§
source§impl LockLockboxRef
impl LockLockboxRef
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<&Self, CryptoError>
Trait Implementations§
source§impl Borrow<LockLockboxRef> for LockLockbox
impl Borrow<LockLockboxRef> for LockLockbox
source§fn borrow(&self) -> &LockLockboxRef
fn borrow(&self) -> &LockLockboxRef
Immutably borrows from an owned value. Read more
source§impl Debug for LockLockboxRef
impl Debug for LockLockboxRef
source§impl<'de: 'a, 'a> Deserialize<'de> for &'a LockLockboxRef
impl<'de: 'a, 'a> Deserialize<'de> for &'a LockLockboxRef
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
source§impl Hash for LockLockboxRef
impl Hash for LockLockboxRef
source§impl PartialEq<LockLockboxRef> for LockLockboxRef
impl PartialEq<LockLockboxRef> for LockLockboxRef
source§fn eq(&self, other: &LockLockboxRef) -> bool
fn eq(&self, other: &LockLockboxRef) -> bool
This method tests for
self
and other
values to be equal, and is used
by ==
.source§impl Serialize for LockLockboxRef
impl Serialize for LockLockboxRef
source§impl ToOwned for LockLockboxRef
impl ToOwned for LockLockboxRef
§type Owned = LockLockbox
type Owned = LockLockbox
The resulting type after obtaining ownership.
source§fn to_owned(&self) -> Self::Owned
fn to_owned(&self) -> Self::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