mirror of
https://github.com/chatmail/core.git
synced 2026-05-07 08:56:30 +03:00
Pass private keyring around as a reference
This commit is contained in:
@@ -51,7 +51,7 @@ pub async fn try_decrypt(
|
|||||||
|
|
||||||
Ok(decrypt_part(
|
Ok(decrypt_part(
|
||||||
encrypted_data_part,
|
encrypted_data_part,
|
||||||
private_keyring,
|
&private_keyring,
|
||||||
public_keyring_for_validate,
|
public_keyring_for_validate,
|
||||||
)?
|
)?
|
||||||
.map(|(raw, fprints)| (raw, fprints, true)))
|
.map(|(raw, fprints)| (raw, fprints, true)))
|
||||||
@@ -207,7 +207,7 @@ fn get_autocrypt_mime<'a, 'b>(mail: &'a ParsedMail<'b>) -> Option<&'a ParsedMail
|
|||||||
/// Returns Ok(None) if nothing encrypted was found.
|
/// Returns Ok(None) if nothing encrypted was found.
|
||||||
fn decrypt_part(
|
fn decrypt_part(
|
||||||
mail: &ParsedMail<'_>,
|
mail: &ParsedMail<'_>,
|
||||||
private_keyring: Keyring<SignedSecretKey>,
|
private_keyring: &Keyring<SignedSecretKey>,
|
||||||
public_keyring_for_validate: Keyring<SignedPublicKey>,
|
public_keyring_for_validate: Keyring<SignedPublicKey>,
|
||||||
) -> Result<Option<(Vec<u8>, HashSet<Fingerprint>)>> {
|
) -> Result<Option<(Vec<u8>, HashSet<Fingerprint>)>> {
|
||||||
let data = mail.get_body_raw()?;
|
let data = mail.get_body_raw()?;
|
||||||
|
|||||||
12
src/pgp.rs
12
src/pgp.rs
@@ -267,7 +267,7 @@ pub async fn pk_encrypt(
|
|||||||
#[allow(clippy::implicit_hasher)]
|
#[allow(clippy::implicit_hasher)]
|
||||||
pub fn pk_decrypt(
|
pub fn pk_decrypt(
|
||||||
ctext: Vec<u8>,
|
ctext: Vec<u8>,
|
||||||
private_keys_for_decryption: Keyring<SignedSecretKey>,
|
private_keys_for_decryption: &Keyring<SignedSecretKey>,
|
||||||
public_keys_for_validation: &Keyring<SignedPublicKey>,
|
public_keys_for_validation: &Keyring<SignedPublicKey>,
|
||||||
) -> Result<(Vec<u8>, HashSet<Fingerprint>)> {
|
) -> Result<(Vec<u8>, HashSet<Fingerprint>)> {
|
||||||
let mut ret_signature_fingerprints: HashSet<Fingerprint> = Default::default();
|
let mut ret_signature_fingerprints: HashSet<Fingerprint> = Default::default();
|
||||||
@@ -511,7 +511,7 @@ mod tests {
|
|||||||
sig_check_keyring.add(KEYS.alice_public.clone());
|
sig_check_keyring.add(KEYS.alice_public.clone());
|
||||||
let (plain, valid_signatures) = pk_decrypt(
|
let (plain, valid_signatures) = pk_decrypt(
|
||||||
ctext_signed().await.as_bytes().to_vec(),
|
ctext_signed().await.as_bytes().to_vec(),
|
||||||
decrypt_keyring,
|
&decrypt_keyring,
|
||||||
&sig_check_keyring,
|
&sig_check_keyring,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
@@ -525,7 +525,7 @@ mod tests {
|
|||||||
sig_check_keyring.add(KEYS.alice_public.clone());
|
sig_check_keyring.add(KEYS.alice_public.clone());
|
||||||
let (plain, valid_signatures) = pk_decrypt(
|
let (plain, valid_signatures) = pk_decrypt(
|
||||||
ctext_signed().await.as_bytes().to_vec(),
|
ctext_signed().await.as_bytes().to_vec(),
|
||||||
decrypt_keyring,
|
&decrypt_keyring,
|
||||||
&sig_check_keyring,
|
&sig_check_keyring,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
@@ -540,7 +540,7 @@ mod tests {
|
|||||||
let empty_keyring = Keyring::new();
|
let empty_keyring = Keyring::new();
|
||||||
let (plain, valid_signatures) = pk_decrypt(
|
let (plain, valid_signatures) = pk_decrypt(
|
||||||
ctext_signed().await.as_bytes().to_vec(),
|
ctext_signed().await.as_bytes().to_vec(),
|
||||||
keyring,
|
&keyring,
|
||||||
&empty_keyring,
|
&empty_keyring,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
@@ -557,7 +557,7 @@ mod tests {
|
|||||||
sig_check_keyring.add(KEYS.bob_public.clone());
|
sig_check_keyring.add(KEYS.bob_public.clone());
|
||||||
let (plain, valid_signatures) = pk_decrypt(
|
let (plain, valid_signatures) = pk_decrypt(
|
||||||
ctext_signed().await.as_bytes().to_vec(),
|
ctext_signed().await.as_bytes().to_vec(),
|
||||||
decrypt_keyring,
|
&decrypt_keyring,
|
||||||
&sig_check_keyring,
|
&sig_check_keyring,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
@@ -572,7 +572,7 @@ mod tests {
|
|||||||
let sig_check_keyring = Keyring::new();
|
let sig_check_keyring = Keyring::new();
|
||||||
let (plain, valid_signatures) = pk_decrypt(
|
let (plain, valid_signatures) = pk_decrypt(
|
||||||
ctext_unsigned().await.as_bytes().to_vec(),
|
ctext_unsigned().await.as_bytes().to_vec(),
|
||||||
decrypt_keyring,
|
&decrypt_keyring,
|
||||||
&sig_check_keyring,
|
&sig_check_keyring,
|
||||||
)
|
)
|
||||||
.unwrap();
|
.unwrap();
|
||||||
|
|||||||
Reference in New Issue
Block a user