pub struct IdentityLockboxRef(/* private fields */);
Expand description
An encrypted IdentityKey
.
This must be decrypted by the matching recipient, which will return the IdentityKey
on
success. It can either be decrypted on its own, returning a temporary IdentityKey
, or
through a Vault, which will store the IdentityKey
.
This is only a reference to an encrypted payload. The owned version is IdentityLockbox
.
See: StreamKey::decrypt_identity_key
,
LockKey::decrypt_identity_key
, and
Vault::decrypt_identity_key
.
§Example
Using a StreamKey
for decryption:
// We have `enc`, a byte vector containing a lockbox
let dec_lockbox: &IdentityLockboxRef = IdentityLockboxRef::from_bytes(&enc[..])?;
let recipient: LockboxRecipient = dec_lockbox.recipient();
// ...
// Retrieve the key by looking up recipient
// ...
let dec_key: IdentityKey = key.decrypt_identity_key(&dec_lockbox)?;
Implementations§
Source§impl IdentityLockboxRef
impl IdentityLockboxRef
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<&IdentityLockboxRef, CryptoError>
Trait Implementations§
Source§impl Borrow<IdentityLockboxRef> for IdentityLockbox
impl Borrow<IdentityLockboxRef> for IdentityLockbox
Source§fn borrow(&self) -> &IdentityLockboxRef
fn borrow(&self) -> &IdentityLockboxRef
Immutably borrows from an owned value. Read more
Source§impl Debug for IdentityLockboxRef
impl Debug for IdentityLockboxRef
Source§impl<'de, 'a> Deserialize<'de> for &'a IdentityLockboxRefwhere
'de: 'a,
impl<'de, 'a> Deserialize<'de> for &'a IdentityLockboxRefwhere
'de: 'a,
Source§fn deserialize<D>(
deserializer: D,
) -> Result<&'a IdentityLockboxRef, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
fn deserialize<D>(
deserializer: D,
) -> Result<&'a IdentityLockboxRef, <D as Deserializer<'de>>::Error>where
D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl<'a> From<&'a IdentityLockboxRef> for ValueRef<'a>
impl<'a> From<&'a IdentityLockboxRef> for ValueRef<'a>
Source§fn from(v: &'a IdentityLockboxRef) -> Self
fn from(v: &'a IdentityLockboxRef) -> Self
Converts to this type from the input type.
Source§impl Hash for IdentityLockboxRef
impl Hash for IdentityLockboxRef
Source§impl PartialEq for IdentityLockboxRef
impl PartialEq for IdentityLockboxRef
Source§impl Serialize for IdentityLockboxRef
impl Serialize for IdentityLockboxRef
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 IdentityLockboxRef
impl ToOwned for IdentityLockboxRef
Source§type Owned = IdentityLockbox
type Owned = IdentityLockbox
The resulting type after obtaining ownership.
Source§fn to_owned(&self) -> <IdentityLockboxRef as ToOwned>::Owned
fn to_owned(&self) -> <IdentityLockboxRef 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