pub enum Message {
Literal(LiteralData),
Compressed(CompressedData),
Signed {
message: Option<Box<Message, Global>>,
one_pass_signature: Option<OnePassSignature>,
signature: Signature,
},
Encrypted {
esk: Vec<Esk, Global>,
edata: Vec<Edata, Global>,
},
}
Expand description
Variants§
Literal(LiteralData)
Compressed(CompressedData)
Signed
Fields
one_pass_signature: Option<OnePassSignature>
for signature packets that contain a one pass message
Encrypted
Implementations§
source§impl Message
impl Message
pub fn new_literal(file_name: impl AsRef<BStr>, data: &str) -> Message
pub fn new_literal_bytes(file_name: impl AsRef<BStr>, data: &[u8]) -> Message
sourcepub fn compress(&self, alg: CompressionAlgorithm) -> Result<Message, Error>
pub fn compress(&self, alg: CompressionAlgorithm) -> Result<Message, Error>
Compresses the message.
sourcepub fn decompress(self) -> Result<Message, Error>
pub fn decompress(self) -> Result<Message, Error>
Decompresses the data if compressed.
sourcepub fn encrypt_to_keys<R>(
&self,
rng: &mut R,
alg: SymmetricKeyAlgorithm,
pkeys: &[&impl PublicKeyTrait]
) -> Result<Message, Error>where
R: CryptoRng + Rng,
pub fn encrypt_to_keys<R>( &self, rng: &mut R, alg: SymmetricKeyAlgorithm, pkeys: &[&impl PublicKeyTrait] ) -> Result<Message, Error>where R: CryptoRng + Rng,
Encrypt the message to the list of passed in public keys.
sourcepub fn encrypt_with_password<R, F>(
&self,
rng: &mut R,
s2k: StringToKey,
alg: SymmetricKeyAlgorithm,
msg_pw: F
) -> Result<Message, Error>where
R: Rng + CryptoRng,
F: FnOnce() -> String + Clone,
pub fn encrypt_with_password<R, F>( &self, rng: &mut R, s2k: StringToKey, alg: SymmetricKeyAlgorithm, msg_pw: F ) -> Result<Message, Error>where R: Rng + CryptoRng, F: FnOnce() -> String + Clone,
Encrytp the message using the given password.
sourcepub fn sign<F>(
self,
key: &impl SecretKeyTrait,
key_pw: F,
hash_algorithm: HashAlgorithm
) -> Result<Message, Error>where
F: FnOnce() -> String,
pub fn sign<F>( self, key: &impl SecretKeyTrait, key_pw: F, hash_algorithm: HashAlgorithm ) -> Result<Message, Error>where F: FnOnce() -> String,
Sign this message using the provided key.
sourcepub fn into_signature(self) -> StandaloneSignature
pub fn into_signature(self) -> StandaloneSignature
Convert the message to a standalone signature according to the cleartext framework.
sourcepub fn verify(&self, key: &impl PublicKeyTrait) -> Result<(), Error>
pub fn verify(&self, key: &impl PublicKeyTrait) -> Result<(), Error>
Verify this message. For signed messages this verifies the signature and for compressed messages they are decompressed and checked for signatures to verify.
sourcepub fn get_recipients(&self) -> Vec<&KeyId, Global>
pub fn get_recipients(&self) -> Vec<&KeyId, Global>
Returns a list of KeyIds that the message is encrypted to. For non encrypted messages this list is empty.
sourcepub fn decrypt<G, 'a>(
&'a self,
key_pw: G,
keys: &[&SignedSecretKey]
) -> Result<(MessageDecrypter<'a>, Vec<KeyId, Global>), Error>where
G: FnOnce() -> String + Clone,
pub fn decrypt<G, 'a>( &'a self, key_pw: G, keys: &[&SignedSecretKey] ) -> Result<(MessageDecrypter<'a>, Vec<KeyId, Global>), Error>where G: FnOnce() -> String + Clone,
Decrypt the message using the given key. Returns a message decrypter, and a list of KeyIds that are valid recipients of this message.
sourcepub fn decrypt_with_password<F>(
&self,
msg_pw: F
) -> Result<MessageDecrypter<'_>, Error>where
F: FnOnce() -> String + Clone,
pub fn decrypt_with_password<F>( &self, msg_pw: F ) -> Result<MessageDecrypter<'_>, Error>where F: FnOnce() -> String + Clone,
Decrypt the message using the given key. Returns a message decrypter, and a list of KeyIds that are valid recipients of this message.
sourcepub fn is_one_pass_signed(&self) -> bool
pub fn is_one_pass_signed(&self) -> bool
Check if this message is a signature, that was signed with a one pass signature.
pub fn is_literal(&self) -> bool
pub fn get_literal(&self) -> Option<&LiteralData>
sourcepub fn get_content(&self) -> Result<Option<Vec<u8, Global>>, Error>
pub fn get_content(&self) -> Result<Option<Vec<u8, Global>>, Error>
Returns the underlying content and None
if the message is encrypted.
pub fn to_armored_writer( &self, writer: &mut impl Write, headers: Option<&BTreeMap<String, String, Global>> ) -> Result<(), Error>
pub fn to_armored_bytes( &self, headers: Option<&BTreeMap<String, String, Global>> ) -> Result<Vec<u8, Global>, Error>
pub fn to_armored_string( &self, headers: Option<&BTreeMap<String, String, Global>> ) -> Result<String, Error>
Trait Implementations§
source§impl Deserializable for Message
impl Deserializable for Message
source§fn from_packets<'a, I>(
packets: Peekable<I>
) -> Box<dyn Iterator<Item = Result<Message, Error>> + 'a, Global>where
I: Iterator<Item = Packet> + 'a,
fn from_packets<'a, I>( packets: Peekable<I> ) -> Box<dyn Iterator<Item = Result<Message, Error>> + 'a, Global>where I: Iterator<Item = Packet> + 'a,
Parse a composed message. Ref: https://tools.ietf.org/html/rfc4880#section-11.3
source§fn from_bytes(bytes: impl Read) -> Result<Self, Error>
fn from_bytes(bytes: impl Read) -> Result<Self, Error>
source§fn from_string(
input: &str
) -> Result<(Self, BTreeMap<String, String, Global>), Error>
fn from_string( input: &str ) -> Result<(Self, BTreeMap<String, String, Global>), Error>
source§fn from_string_many<'a>(
input: &'a str
) -> Result<(Box<dyn Iterator<Item = Result<Self, Error>> + 'a, Global>, BTreeMap<String, String, Global>), Error>
fn from_string_many<'a>( input: &'a str ) -> Result<(Box<dyn Iterator<Item = Result<Self, Error>> + 'a, Global>, BTreeMap<String, String, Global>), Error>
source§fn from_armor_single<R>(
input: R
) -> Result<(Self, BTreeMap<String, String, Global>), Error>where
R: Read + Seek,
fn from_armor_single<R>( input: R ) -> Result<(Self, BTreeMap<String, String, Global>), Error>where R: Read + Seek,
source§impl PartialEq<Message> for Message
impl PartialEq<Message> for Message
impl Eq for Message
impl StructuralEq for Message
impl StructuralPartialEq for Message
Auto Trait Implementations§
impl RefUnwindSafe for Message
impl Send for Message
impl Sync for Message
impl Unpin for Message
impl UnwindSafe for Message
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
source§impl<Q, K> Equivalent<K> for Qwhere
Q: Eq + ?Sized,
K: Borrow<Q> + ?Sized,
impl<Q, K> Equivalent<K> for Qwhere Q: Eq + ?Sized, K: Borrow<Q> + ?Sized,
source§fn equivalent(&self, key: &K) -> bool
fn equivalent(&self, key: &K) -> bool
key
and return true
if they are equal.