summaryrefslogtreecommitdiffstats
path: root/openpgp/src/parse.rs
diff options
context:
space:
mode:
authorWiktor Kwapisiewicz <wiktor@metacode.biz>2022-10-03 11:50:14 +0200
committerWiktor Kwapisiewicz <wiktor@metacode.biz>2022-12-21 10:50:47 +0100
commit8263f8916a8003671eafcc374f4466a715a6bf97 (patch)
treefd27d4c20db9c5d1d10a3fa0ff08436e0eb143d4 /openpgp/src/parse.rs
parent459d8b20054f554fd47bc7184cf2dd4a2a658595 (diff)
openpgp: Adjust test suite to filter out unsupported AEAD algorithms.
Diffstat (limited to 'openpgp/src/parse.rs')
-rw-r--r--openpgp/src/parse.rs34
1 files changed, 34 insertions, 0 deletions
diff --git a/openpgp/src/parse.rs b/openpgp/src/parse.rs
index 85c372f7..9b90c751 100644
--- a/openpgp/src/parse.rs
+++ b/openpgp/src/parse.rs
@@ -5413,6 +5413,7 @@ mod test {
struct DecryptTest<'a> {
filename: &'a str,
algo: SymmetricAlgorithm,
+ aead_algo: Option<AEADAlgorithm>,
key_hex: &'a str,
plaintext: Data<'a>,
paths: &'a[ (Tag, &'a[ usize ] ) ],
@@ -5427,6 +5428,7 @@ mod test {
DecryptTest {
filename: "encrypted-aes256-password-123.gpg",
algo: SymmetricAlgorithm::AES256,
+ aead_algo: None,
key_hex: "7EF4F08C44F780BEA866961423306166B8912C43352F3D9617F745E4E3939710",
plaintext: Data::File("a-cypherpunks-manifesto.txt"),
paths: &[
@@ -5439,6 +5441,7 @@ mod test {
DecryptTest {
filename: "encrypted-aes192-password-123456.gpg",
algo: SymmetricAlgorithm::AES192,
+ aead_algo: None,
key_hex: "B2F747F207EFF198A6C826F1D398DE037986218ED468DB61",
plaintext: Data::File("a-cypherpunks-manifesto.txt"),
paths: &[
@@ -5451,6 +5454,7 @@ mod test {
DecryptTest {
filename: "encrypted-aes128-password-123456789.gpg",
algo: SymmetricAlgorithm::AES128,
+ aead_algo: None,
key_hex: "AC0553096429260B4A90B1CEC842D6A0",
plaintext: Data::File("a-cypherpunks-manifesto.txt"),
paths: &[
@@ -5463,6 +5467,7 @@ mod test {
DecryptTest {
filename: "encrypted-twofish-password-red-fish-blue-fish.gpg",
algo: SymmetricAlgorithm::Twofish,
+ aead_algo: None,
key_hex: "96AFE1EDFA7C9CB7E8B23484C718015E5159CFA268594180D4DB68B2543393CB",
plaintext: Data::File("a-cypherpunks-manifesto.txt"),
paths: &[
@@ -5482,6 +5487,7 @@ mod test {
DecryptTest {
filename: "seip/msg-compression-not-signed-password-123.pgp",
algo: SymmetricAlgorithm::AES128,
+ aead_algo: None,
key_hex: "86A8C1C7961F55A3BE181A990D0ABB2A",
plaintext: Data::String(b"compression, not signed\n"),
paths: &[
@@ -5496,6 +5502,7 @@ mod test {
DecryptTest {
filename: "seip/msg-compression-signed-password-123.pgp",
algo: SymmetricAlgorithm::AES128,
+ aead_algo: None,
key_hex: "1B195CD35CAD4A99D9399B4CDA4CDA4E",
plaintext: Data::String(b"compression, signed\n"),
paths: &[
@@ -5511,6 +5518,7 @@ mod test {
DecryptTest {
filename: "seip/msg-no-compression-not-signed-password-123.pgp",
algo: SymmetricAlgorithm::AES128,
+ aead_algo: None,
key_hex: "AFB43B83A4B9D971E4B4A4C53749076A",
plaintext: Data::String(b"no compression, not signed\n"),
paths: &[
@@ -5523,6 +5531,7 @@ mod test {
DecryptTest {
filename: "seip/msg-no-compression-signed-password-123.pgp",
algo: SymmetricAlgorithm::AES128,
+ aead_algo: None,
key_hex: "9D5DB92F77F0E4A356EE53813EF2C3DC",
plaintext: Data::String(b"no compression, signed\n"),
paths: &[
@@ -5539,6 +5548,7 @@ mod test {
DecryptTest {
filename: "aed/msg-aes128-eax-chunk-size-64-password-123.pgp",
algo: SymmetricAlgorithm::AES128,
+ aead_algo: Some(AEADAlgorithm::EAX),
key_hex: "E88151F2B6F6F6F0AE6B56ED247AA61B",
plaintext: Data::File("a-cypherpunks-manifesto.txt"),
paths: &[
@@ -5550,6 +5560,7 @@ mod test {
DecryptTest {
filename: "aed/msg-aes128-eax-chunk-size-4194304-password-123.pgp",
algo: SymmetricAlgorithm::AES128,
+ aead_algo: Some(AEADAlgorithm::EAX),
key_hex: "918E6BF5C6CE4320D014735AF27BFA76",
plaintext: Data::File("a-cypherpunks-manifesto.txt"),
paths: &[
@@ -5610,6 +5621,14 @@ mod test {
continue;
}
+ if let Some(aead_algo) = test.aead_algo {
+ if !aead_algo.is_supported() {
+ eprintln!("AEAD algorithm {} unsupported by
+ selected crypto backend, skipping", aead_algo);
+ continue;
+ }
+ }
+
eprintln!("Decrypting {}, streaming content: {}",
test.filename, stream);
@@ -5692,6 +5711,14 @@ mod test {
continue;
}
+ if let Some(aead_algo) = test.aead_algo {
+ if !aead_algo.is_supported() {
+ eprintln!("AEAD algorithm {} unsupported by
+ selected crypto backend, skipping", aead_algo);
+ continue;
+ }
+ }
+
let mut buf = Vec::new();
if marker_before {
Packet::Marker(Default::default()).serialize(&mut buf).unwrap();
@@ -5858,6 +5885,13 @@ mod test {
continue;
}
+ if let Some(aead_algo) = test.aead_algo {
+ if !aead_algo.is_supported() {
+ eprintln!("AEAD algorithm {} unsupported, skipping", aead_algo);
+ continue;
+ }
+ }
+
eprintln!("Decrypting {}", test.filename);
let mut ppr = PacketParserBuilder::from_bytes(