diff --git a/src/decrypt.rs b/src/decrypt.rs index 7b055f654..ca07a3a82 100644 --- a/src/decrypt.rs +++ b/src/decrypt.rs @@ -215,7 +215,7 @@ async fn decrypt_part( if has_decrypted_pgp_armor(&data) { let (plain, ret_valid_signatures) = - pgp::pk_decrypt(data, private_keyring, &public_keyring_for_validate).await?; + pgp::pk_decrypt(data, private_keyring, &public_keyring_for_validate)?; // Check for detached signatures. // If decrypted part is a multipart/signed, then there is a detached signature. diff --git a/src/pgp.rs b/src/pgp.rs index 8a91a46b3..486d510d2 100644 --- a/src/pgp.rs +++ b/src/pgp.rs @@ -265,23 +265,20 @@ pub async fn pk_encrypt( /// of all keys from the `public_keys_for_validation` keyring that /// have valid signatures there. #[allow(clippy::implicit_hasher)] -pub async fn pk_decrypt( +pub fn pk_decrypt( ctext: Vec, private_keys_for_decryption: Keyring, public_keys_for_validation: &Keyring, ) -> Result<(Vec, HashSet)> { let mut ret_signature_fingerprints: HashSet = Default::default(); - let msgs = tokio::task::spawn_blocking(move || { - let cursor = Cursor::new(ctext); - let (msg, _) = Message::from_armor_single(cursor)?; + let cursor = Cursor::new(ctext); + let (msg, _) = Message::from_armor_single(cursor)?; - let skeys: Vec<&SignedSecretKey> = private_keys_for_decryption.keys().iter().collect(); + let skeys: Vec<&SignedSecretKey> = private_keys_for_decryption.keys().iter().collect(); - let (decryptor, _) = msg.decrypt(|| "".into(), || "".into(), &skeys[..])?; - decryptor.collect::>>() - }) - .await??; + let (decryptor, _) = msg.decrypt(|| "".into(), || "".into(), &skeys[..])?; + let msgs = decryptor.collect::>>()?; if let Some(msg) = msgs.into_iter().next() { // get_content() will decompress the message if needed, @@ -517,7 +514,6 @@ mod tests { decrypt_keyring, &sig_check_keyring, ) - .await .unwrap(); assert_eq!(plain, CLEARTEXT); assert_eq!(valid_signatures.len(), 1); @@ -532,7 +528,6 @@ mod tests { decrypt_keyring, &sig_check_keyring, ) - .await .unwrap(); assert_eq!(plain, CLEARTEXT); assert_eq!(valid_signatures.len(), 1); @@ -548,7 +543,6 @@ mod tests { keyring, &empty_keyring, ) - .await .unwrap(); assert_eq!(plain, CLEARTEXT); assert_eq!(valid_signatures.len(), 0); @@ -566,7 +560,6 @@ mod tests { decrypt_keyring, &sig_check_keyring, ) - .await .unwrap(); assert_eq!(plain, CLEARTEXT); assert_eq!(valid_signatures.len(), 0); @@ -582,7 +575,6 @@ mod tests { decrypt_keyring, &sig_check_keyring, ) - .await .unwrap(); assert_eq!(plain, CLEARTEXT); assert_eq!(valid_signatures.len(), 0);