pub enum Message {
Literal(LiteralData),
Compressed(CompressedData),
Signed {
message: Option<Box<Message>>,
one_pass_signature: Option<OnePassSignature>,
signature: Signature,
},
Encrypted {
esk: Vec<Esk>,
edata: Edata,
},
}
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) -> Self
pub fn new_literal_bytes(file_name: impl AsRef<BStr>, data: &[u8]) -> Self
sourcepub fn compress(&self, alg: CompressionAlgorithm) -> Result<Self>
pub fn compress(&self, alg: CompressionAlgorithm) -> Result<Self>
Compresses the message.
sourcepub fn decompress(self) -> Result<Self>
pub fn decompress(self) -> Result<Self>
Decompresses the data if compressed.
sourcepub fn encrypt_to_keys<R: CryptoRng + Rng>(
&self,
rng: &mut R,
alg: SymmetricKeyAlgorithm,
pkeys: &[&impl PublicKeyTrait]
) -> Result<Self>
pub fn encrypt_to_keys<R: CryptoRng + Rng>( &self, rng: &mut R, alg: SymmetricKeyAlgorithm, pkeys: &[&impl PublicKeyTrait] ) -> Result<Self>
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<Self>
pub fn encrypt_with_password<R, F>( &self, rng: &mut R, s2k: StringToKey, alg: SymmetricKeyAlgorithm, msg_pw: F ) -> Result<Self>
Encrypt the message using the given password.
sourcepub fn sign<F>(
self,
key: &impl SecretKeyTrait,
key_pw: F,
hash_algorithm: HashAlgorithm
) -> Result<Self>
pub fn sign<F>( self, key: &impl SecretKeyTrait, key_pw: F, hash_algorithm: HashAlgorithm ) -> Result<Self>
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<()>
pub fn verify(&self, key: &impl PublicKeyTrait) -> Result<()>
Verify this message. For signed messages this verifies the signature and for compressed messages they are decompressed and checked for signatures to verify.
Decompresses up to one layer of compressed data.
sourcepub fn get_recipients(&self) -> Vec<&KeyId>
pub fn get_recipients(&self) -> Vec<&KeyId>
Returns a list of KeyIds that the message is encrypted to. For non encrypted messages this list is empty.
sourcepub fn decrypt<G>(
&self,
key_pw: G,
keys: &[&SignedSecretKey]
) -> Result<(Message, Vec<KeyId>)>
pub fn decrypt<G>( &self, key_pw: G, keys: &[&SignedSecretKey] ) -> Result<(Message, Vec<KeyId>)>
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<Message>
pub fn decrypt_with_password<F>(&self, msg_pw: F) -> Result<Message>
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>>>
pub fn get_content(&self) -> Result<Option<Vec<u8>>>
Returns the underlying content and None
if the message is encrypted.
Decompresses up to one layer of compressed data.
pub fn to_armored_writer( &self, writer: &mut impl Write, headers: Option<&BTreeMap<String, String>> ) -> Result<()>
pub fn to_armored_bytes( &self, headers: Option<&BTreeMap<String, String>> ) -> Result<Vec<u8>>
pub fn to_armored_string( &self, headers: Option<&BTreeMap<String, String>> ) -> Result<String>
Trait Implementations§
source§impl Deserializable for Message
impl Deserializable for Message
source§fn from_packets<'a, I: Iterator<Item = Result<Packet>> + 'a>(
packets: Peekable<I>
) -> Box<dyn Iterator<Item = Result<Self>> + 'a>
fn from_packets<'a, I: Iterator<Item = Result<Packet>> + 'a>( packets: Peekable<I> ) -> Box<dyn Iterator<Item = Result<Self>> + 'a>
Parse a composed message. Ref: https://tools.ietf.org/html/rfc4880#section-11.3