[−][src]Struct sequoia_openpgp::packet::skesk::SKESK5
Holds an symmetrically encrypted session key version 5.
Holds an symmetrically encrypted session key. The session key is needed to decrypt the actual ciphertext. See [Section 5.3 of RFC 4880bis] for details.
This feature is experimental.
Implementations
impl SKESK5
[src]
pub fn new(
cipher: SymmetricAlgorithm,
aead: AEADAlgorithm,
s2k: S2K,
iv: Box<[u8]>,
esk: Vec<u8>,
digest: Box<[u8]>
) -> Result<Self>
[src]
cipher: SymmetricAlgorithm,
aead: AEADAlgorithm,
s2k: S2K,
iv: Box<[u8]>,
esk: Vec<u8>,
digest: Box<[u8]>
) -> Result<Self>
Creates a new SKESK version 5 packet.
The given symmetric algorithm must match the algorithm that is used to encrypt the payload, and is also used to encrypt the given session key.
pub fn with_password(
cipher: SymmetricAlgorithm,
aead: AEADAlgorithm,
s2k: S2K,
session_key: &SessionKey,
password: &Password
) -> Result<Self>
[src]
cipher: SymmetricAlgorithm,
aead: AEADAlgorithm,
s2k: S2K,
session_key: &SessionKey,
password: &Password
) -> Result<Self>
Creates a new SKESK version 5 packet with the given password.
pub fn decrypt(
&self,
password: &Password
) -> Result<(SymmetricAlgorithm, SessionKey)>
[src]
&self,
password: &Password
) -> Result<(SymmetricAlgorithm, SessionKey)>
Derives the key inside this SKESK4 from password
. Returns a
tuple of the symmetric cipher to use with the key and the key
itself.
pub fn aead_algo(&self) -> AEADAlgorithm
[src]
Gets the AEAD algorithm.
pub fn set_aead_algo(&mut self, algo: AEADAlgorithm) -> AEADAlgorithm
[src]
Sets the AEAD algorithm.
pub fn aead_iv(&self) -> &[u8]
[src]
Gets the AEAD initialization vector.
pub fn set_aead_iv(&mut self, iv: Box<[u8]>) -> Box<[u8]>
[src]
Sets the AEAD initialization vector.
pub fn aead_digest(&self) -> &[u8]
[src]
Gets the AEAD digest.
pub fn set_aead_digest(&mut self, digest: Box<[u8]>) -> Box<[u8]>
[src]
Sets the AEAD digest.
Methods from Deref<Target = SKESK4>
pub fn symmetric_algo(&self) -> SymmetricAlgorithm
[src]
Gets the symmetric encryption algorithm.
pub fn set_symmetric_algo(
&mut self,
algo: SymmetricAlgorithm
) -> SymmetricAlgorithm
[src]
&mut self,
algo: SymmetricAlgorithm
) -> SymmetricAlgorithm
Sets the symmetric encryption algorithm.
pub fn s2k(&self) -> &S2K
[src]
Gets the key derivation method.
pub fn set_s2k(&mut self, s2k: S2K) -> S2K
[src]
Sets the key derivation method.
pub fn esk(&self) -> Option<&[u8]>
[src]
Gets the encrypted session key.
pub fn set_esk(&mut self, esk: Option<Vec<u8>>) -> Option<Vec<u8>>
[src]
Sets the encrypted session key.
pub fn decrypt(
&self,
password: &Password
) -> Result<(SymmetricAlgorithm, SessionKey)>
[src]
&self,
password: &Password
) -> Result<(SymmetricAlgorithm, SessionKey)>
Derives the key inside this SKESK4 from password
.
Returns a tuple of the symmetric cipher to use with the key and the key itself.
Trait Implementations
impl Clone for SKESK5
[src]
impl Debug for SKESK5
[src]
impl Deref for SKESK5
[src]
impl DerefMut for SKESK5
[src]
impl Eq for SKESK5
[src]
impl From<SKESK5> for SKESK
[src]
impl From<SKESK5> for Packet
[src]
impl Hash for SKESK5
[src]
fn hash<__H: Hasher>(&self, state: &mut __H)
[src]
fn hash_slice<H>(data: &[Self], state: &mut H) where
H: Hasher,
1.3.0[src]
H: Hasher,
impl Marshal for SKESK5
[src]
fn serialize(&self, o: &mut dyn Write) -> Result<()>
[src]
fn export(&self, o: &mut dyn Write) -> Result<()>
[src]
impl MarshalInto for SKESK5
[src]
fn serialized_len(&self) -> usize
[src]
fn serialize_into(&self, buf: &mut [u8]) -> Result<usize>
[src]
fn to_vec(&self) -> Result<Vec<u8>>
[src]
fn export_into(&self, buf: &mut [u8]) -> Result<usize>
[src]
fn export_to_vec(&self) -> Result<Vec<u8>>
[src]
impl PartialEq<SKESK5> for SKESK5
[src]
impl StructuralEq for SKESK5
[src]
impl StructuralPartialEq for SKESK5
[src]
Auto Trait Implementations
impl RefUnwindSafe for SKESK5
impl Send for SKESK5
impl Sync for SKESK5
impl Unpin for SKESK5
impl UnwindSafe for SKESK5
Blanket Implementations
impl<T> Any for T where
T: 'static + ?Sized,
[src]
T: 'static + ?Sized,
impl<T> Borrow<T> for T where
T: ?Sized,
[src]
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
[src]
T: ?Sized,
fn borrow_mut(&mut self) -> &mut T
[src]
impl<T> From<T> for T
[src]
impl<T, U> Into<U> for T where
U: From<T>,
[src]
U: From<T>,
impl<T> ToOwned for T where
T: Clone,
[src]
T: Clone,
type Owned = T
The resulting type after obtaining ownership.
fn to_owned(&self) -> T
[src]
fn clone_into(&self, target: &mut T)
[src]
impl<T, U> TryFrom<U> for T where
U: Into<T>,
[src]
U: Into<T>,
type Error = Infallible
The type returned in the event of a conversion error.
fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>
[src]
impl<T, U> TryInto<U> for T where
U: TryFrom<T>,
[src]
U: TryFrom<T>,