pub enum Message {
Literal(LiteralData),
Compressed(CompressedData),
Signed {
message: Option<Box<Message>>,
one_pass_signature: Option<OnePassSignature>,
signature: Signature,
},
Encrypted {
esk: Vec<Esk>,
edata: Vec<Edata>,
},
}
Expand description
Variants
Literal(LiteralData)
Compressed(CompressedData)
Signed
Fields
one_pass_signature: Option<OnePassSignature>
for signature packets that contain a one pass message
signature: Signature
Encrypted
Implementations
sourceimpl Message
impl Message
pub fn new_literal(file_name: &str, data: &str) -> Self
pub fn new_literal_bytes(file_name: &str, 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> 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<Self> 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<Self> where
F: FnOnce() -> String,
pub fn sign<F>(
self,
key: &impl SecretKeyTrait,
key_pw: F,
hash_algorithm: HashAlgorithm
) -> Result<Self> 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<()>
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.
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<'a, F, G>(
&'a self,
msg_pw: F,
key_pw: G,
keys: &[&SignedSecretKey]
) -> Result<(MessageDecrypter<'a>, Vec<KeyId>)> where
F: FnOnce() -> String + Clone,
G: FnOnce() -> String + Clone,
pub fn decrypt<'a, F, G>(
&'a self,
msg_pw: F,
key_pw: G,
keys: &[&SignedSecretKey]
) -> Result<(MessageDecrypter<'a>, Vec<KeyId>)> where
F: FnOnce() -> String + Clone,
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<'_>> where
F: FnOnce() -> String + Clone,
pub fn decrypt_with_password<F>(
&self,
msg_pw: F
) -> Result<MessageDecrypter<'_>> 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>>>
pub fn get_content(&self) -> Result<Option<Vec<u8>>>
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>>
) -> 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
sourceimpl Deserializable for Message
impl Deserializable for Message
sourcefn from_packets<'a>(
packets: impl Iterator<Item = Packet> + 'a
) -> Box<dyn Iterator<Item = Result<Self>> + 'a>
fn from_packets<'a>(
packets: impl Iterator<Item = Packet> + 'a
) -> Box<dyn Iterator<Item = Result<Self>> + 'a>
Parse a composed message. Ref: https://tools.ietf.org/html/rfc4880#section-11.3
sourcefn from_bytes(bytes: impl Read) -> Result<Self>
fn from_bytes(bytes: impl Read) -> Result<Self>
Parse a single byte encoded composition.
sourcefn from_string(input: &str) -> Result<(Self, BTreeMap<String, String>)>
fn from_string(input: &str) -> Result<(Self, BTreeMap<String, String>)>
Parse a single armor encoded composition.
sourcefn from_string_many<'a>(
input: &'a str
) -> Result<(Box<dyn Iterator<Item = Result<Self>> + 'a>, BTreeMap<String, String>)>
fn from_string_many<'a>(
input: &'a str
) -> Result<(Box<dyn Iterator<Item = Result<Self>> + 'a>, BTreeMap<String, String>)>
Parse an armor encoded list of compositions.
sourcefn from_armor_single<R: Read + Seek>(
input: R
) -> Result<(Self, BTreeMap<String, String>)>
fn from_armor_single<R: Read + Seek>(
input: R
) -> Result<(Self, BTreeMap<String, String>)>
Armored ascii data.
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
sourceimpl<T> BorrowMut<T> for T where
T: ?Sized,
impl<T> BorrowMut<T> for T where
T: ?Sized,
const: unstable · sourcefn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more