From fed6cbcd6e3cdf51a4d081832a8414b746461279 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Wed, 30 Jul 2025 13:24:48 +0200 Subject: [PATCH 1/2] Rename FuzzTests --- ...iArmorFuzzTest.java => ArmorFuzzTest.java} | 2 +- ...eFuzzingTest.java => EncryptFuzzTest.java} | 18 +++--------------- ...atureFuzzTest.java => VerifyFuzzTest.java} | 2 +- .../armorAndDearmorData/alice.asc | 0 .../armorAndDearmorData/alice.cert | 0 .../armorAndDearmorData/alice.key | Bin .../armorAndDearmorData/alice_pub.asc | 0 .../armorAndDearmorData/hello-world | 0 .../armorAndDearmorData/hello-world.asc | 0 .../hello-world.enc.alice.asc | 0 .../hello-world.enc.alice.bin | Bin .../armorAndDearmorData/hello-world.sig | Bin .../armorAndDearmorData/hello-world.sig.asc | 0 .../hello-world_broken_crc.asc | 0 .../hello-world_missing_crc.asc | 0 ...h-016417ab22e685a205fb1ba24fca0c0abdfbf024 | 0 ...h-4360ccd96e058fd2f83627a36f849592c6c4f113 | Bin ...h-5beb6a9df56d2215eb9058bd241d195a41a3d5be | 0 ...h-674d33e75e52b105c63919aed5341f44ee6d34b4 | 0 ...h-69b4c08f74f9653ddf0bd13fd042638fafee18ab | 0 ...h-6baebbe06e92c73d2cc41e2cd5eb358a07f34420 | Bin ...h-72aacd2d82d3c3fa750807ad1138e6a566996f04 | 0 ...h-7a28ce2dfca01ededa28577f0397be089cbb5193 | 0 ...h-87b6b9d7de833ac9c1b42049a591b84b9cd4a937 | 0 ...h-91508c7a3d06501d324f4769f702818dc882cb53 | 0 ...h-9991f110a0c43a7b68c355be88fbcb4f858ba523 | 0 ...h-a6688e26770eba930d1f4450628284f7e54a188e | 0 ...h-b91786eba970d3f88e028504a52d00df2767ae30 | 0 ...h-c01c76683093e04c68ebde60e0db25493521887c | 0 ...h-dd1bb74569f01fb452bc39370230fb8fe2fac7e2 | 0 ...h-f1916a406490728f771aae506c3e09c8b2cd446b | 0 ...h-f90880b9a49f13e75778cbf94d7d47feec11f941 | 0 ...raft-koch-eddsa-for-openpgp-00.rfc4880.pgp | 0 ...-koch-eddsa-for-openpgp-00.rfc4880.pgp.asc | 0 .../decryptFuzzedMessage/password.rfc4880.pgp | 0 .../password.rfc4880.pgp.asc | 0 .../decryptFuzzedMessage/rfc4880.rfc4880.pgp | Bin .../rfc4880.rfc4880.pgp.asc | 0 ...h-32e33f4ab3ec144d7ecab9104c44ec3776939e2a | Bin .../verifyFuzzedSig/sig_v4_ed25519.asc | 0 .../verifyFuzzedSig/sig_v4_ed25519.bin | Bin .../verifyFuzzedSig/sig_v4_nist-p256.asc | 0 .../verifyFuzzedSig/sig_v4_nist-p256.bin | Bin .../verifyFuzzedSig/sig_v4_nist-p384.asc | 0 .../verifyFuzzedSig/sig_v4_nist-p384.bin | Bin .../verifyFuzzedSig/sig_v4_nist-p521.asc | 0 .../verifyFuzzedSig/sig_v4_nist-p521.bin | Bin .../verifyFuzzedSig/sig_v4_rsa4096.asc | 0 .../verifyFuzzedSig/sig_v4_rsa4096.bin | Bin .../verifyFuzzedSig/sig_v6_ed25519.asc | 0 .../verifyFuzzedSig/sig_v6_ed25519.bin | Bin .../verifyFuzzedSig/sig_v6_ed448.asc | 0 .../verifyFuzzedSig/sig_v6_ed448.bin | Bin 53 files changed, 5 insertions(+), 17 deletions(-) rename pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/{AsciiArmorFuzzTest.java => ArmorFuzzTest.java} (96%) rename pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTest.java => EncryptFuzzTest.java} (78%) rename pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/{SignatureFuzzTest.java => VerifyFuzzTest.java} (99%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{AsciiArmorFuzzTestInputs => ArmorFuzzTestInputs}/armorAndDearmorData/alice.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{AsciiArmorFuzzTestInputs => ArmorFuzzTestInputs}/armorAndDearmorData/alice.cert (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{AsciiArmorFuzzTestInputs => ArmorFuzzTestInputs}/armorAndDearmorData/alice.key (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{AsciiArmorFuzzTestInputs => ArmorFuzzTestInputs}/armorAndDearmorData/alice_pub.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{AsciiArmorFuzzTestInputs => ArmorFuzzTestInputs}/armorAndDearmorData/hello-world (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{AsciiArmorFuzzTestInputs => ArmorFuzzTestInputs}/armorAndDearmorData/hello-world.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{AsciiArmorFuzzTestInputs => ArmorFuzzTestInputs}/armorAndDearmorData/hello-world.enc.alice.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{AsciiArmorFuzzTestInputs => ArmorFuzzTestInputs}/armorAndDearmorData/hello-world.enc.alice.bin (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{AsciiArmorFuzzTestInputs => ArmorFuzzTestInputs}/armorAndDearmorData/hello-world.sig (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{AsciiArmorFuzzTestInputs => ArmorFuzzTestInputs}/armorAndDearmorData/hello-world.sig.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{AsciiArmorFuzzTestInputs => ArmorFuzzTestInputs}/armorAndDearmorData/hello-world_broken_crc.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{AsciiArmorFuzzTestInputs => ArmorFuzzTestInputs}/armorAndDearmorData/hello-world_missing_crc.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-016417ab22e685a205fb1ba24fca0c0abdfbf024 (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-4360ccd96e058fd2f83627a36f849592c6c4f113 (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-5beb6a9df56d2215eb9058bd241d195a41a3d5be (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-674d33e75e52b105c63919aed5341f44ee6d34b4 (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-69b4c08f74f9653ddf0bd13fd042638fafee18ab (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-6baebbe06e92c73d2cc41e2cd5eb358a07f34420 (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-72aacd2d82d3c3fa750807ad1138e6a566996f04 (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-7a28ce2dfca01ededa28577f0397be089cbb5193 (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-87b6b9d7de833ac9c1b42049a591b84b9cd4a937 (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-91508c7a3d06501d324f4769f702818dc882cb53 (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-9991f110a0c43a7b68c355be88fbcb4f858ba523 (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-a6688e26770eba930d1f4450628284f7e54a188e (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-b91786eba970d3f88e028504a52d00df2767ae30 (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-c01c76683093e04c68ebde60e0db25493521887c (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-dd1bb74569f01fb452bc39370230fb8fe2fac7e2 (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-f1916a406490728f771aae506c3e09c8b2cd446b (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/crash-f90880b9a49f13e75778cbf94d7d47feec11f941 (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/draft-koch-eddsa-for-openpgp-00.rfc4880.pgp (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/draft-koch-eddsa-for-openpgp-00.rfc4880.pgp.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/password.rfc4880.pgp (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/password.rfc4880.pgp.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/rfc4880.rfc4880.pgp (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{EncryptedMessageFuzzingTestInputs => EncryptFuzzTestInputs}/decryptFuzzedMessage/rfc4880.rfc4880.pgp.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{SignatureFuzzTestInputs => VerifyFuzzTestInputs}/verifyFuzzedSig/crash-32e33f4ab3ec144d7ecab9104c44ec3776939e2a (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{SignatureFuzzTestInputs => VerifyFuzzTestInputs}/verifyFuzzedSig/sig_v4_ed25519.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{SignatureFuzzTestInputs => VerifyFuzzTestInputs}/verifyFuzzedSig/sig_v4_ed25519.bin (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{SignatureFuzzTestInputs => VerifyFuzzTestInputs}/verifyFuzzedSig/sig_v4_nist-p256.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{SignatureFuzzTestInputs => VerifyFuzzTestInputs}/verifyFuzzedSig/sig_v4_nist-p256.bin (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{SignatureFuzzTestInputs => VerifyFuzzTestInputs}/verifyFuzzedSig/sig_v4_nist-p384.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{SignatureFuzzTestInputs => VerifyFuzzTestInputs}/verifyFuzzedSig/sig_v4_nist-p384.bin (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{SignatureFuzzTestInputs => VerifyFuzzTestInputs}/verifyFuzzedSig/sig_v4_nist-p521.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{SignatureFuzzTestInputs => VerifyFuzzTestInputs}/verifyFuzzedSig/sig_v4_nist-p521.bin (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{SignatureFuzzTestInputs => VerifyFuzzTestInputs}/verifyFuzzedSig/sig_v4_rsa4096.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{SignatureFuzzTestInputs => VerifyFuzzTestInputs}/verifyFuzzedSig/sig_v4_rsa4096.bin (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{SignatureFuzzTestInputs => VerifyFuzzTestInputs}/verifyFuzzedSig/sig_v6_ed25519.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{SignatureFuzzTestInputs => VerifyFuzzTestInputs}/verifyFuzzedSig/sig_v6_ed25519.bin (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{SignatureFuzzTestInputs => VerifyFuzzTestInputs}/verifyFuzzedSig/sig_v6_ed448.asc (100%) rename pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/{SignatureFuzzTestInputs => VerifyFuzzTestInputs}/verifyFuzzedSig/sig_v6_ed448.bin (100%) diff --git a/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTest.java b/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/ArmorFuzzTest.java similarity index 96% rename from pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTest.java rename to pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/ArmorFuzzTest.java index ead6098a..464d4890 100644 --- a/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTest.java +++ b/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/ArmorFuzzTest.java @@ -14,7 +14,7 @@ import java.io.IOException; import static org.junit.jupiter.api.Assertions.assertArrayEquals; -public class AsciiArmorFuzzTest { +public class ArmorFuzzTest { private final SOP sop = new SOPImpl(); diff --git a/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTest.java b/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/EncryptFuzzTest.java similarity index 78% rename from pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTest.java rename to pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/EncryptFuzzTest.java index 5277cac2..b9826440 100644 --- a/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTest.java +++ b/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/EncryptFuzzTest.java @@ -6,12 +6,8 @@ package org.pgpainless.sop.fuzzing; import com.code_intelligence.jazzer.api.FuzzedDataProvider; import com.code_intelligence.jazzer.junit.FuzzTest; -import org.bouncycastle.util.encoders.Hex; import org.bouncycastle.util.io.Streams; import org.junit.jupiter.api.BeforeAll; -import org.junit.jupiter.api.Test; -import org.pgpainless.exception.MissingDecryptionMethodException; -import org.pgpainless.exception.ModificationDetectionException; import org.pgpainless.sop.SOPImpl; import sop.SOP; import sop.exception.SOPGPException; @@ -21,22 +17,14 @@ import java.io.BufferedReader; import java.io.IOException; import java.io.InputStream; import java.io.InputStreamReader; -import java.net.URI; -import java.net.URISyntaxException; import java.nio.charset.StandardCharsets; -import java.nio.file.Files; -import java.nio.file.Path; -import java.nio.file.Paths; import java.util.ArrayList; -import java.util.Iterator; import java.util.List; -import java.util.NoSuchElementException; -import java.util.stream.Stream; import static org.junit.jupiter.api.Assertions.assertArrayEquals; import static org.junit.jupiter.api.Assertions.assertFalse; -public class EncryptedMessageFuzzingTest { +public class EncryptFuzzTest { private final SOP sop = new SOPImpl(); private final String password = "sw0rdf1sh"; @@ -53,7 +41,7 @@ public class EncryptedMessageFuzzingTest { List keys = new ArrayList<>(); String dir = "/org/pgpainless/sop/fuzzing/testKeys"; - InputStream in = EncryptedMessageFuzzingTest.class.getResourceAsStream(dir); + InputStream in = EncryptFuzzTest.class.getResourceAsStream(dir); BufferedReader reader = new BufferedReader(new InputStreamReader(in)); String file; @@ -62,7 +50,7 @@ public class EncryptedMessageFuzzingTest { continue; } - try(InputStream fIn = EncryptedMessageFuzzingTest.class.getResourceAsStream(dir + "/" + file)) { + try(InputStream fIn = EncryptFuzzTest.class.getResourceAsStream(dir + "/" + file)) { byte[] b = Streams.readAll(fIn); keys.add(b); } diff --git a/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/SignatureFuzzTest.java b/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/VerifyFuzzTest.java similarity index 99% rename from pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/SignatureFuzzTest.java rename to pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/VerifyFuzzTest.java index c13057b0..6b3ea114 100644 --- a/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/SignatureFuzzTest.java +++ b/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/VerifyFuzzTest.java @@ -15,7 +15,7 @@ import java.io.IOException; import java.nio.charset.StandardCharsets; import java.util.List; -public class SignatureFuzzTest { +public class VerifyFuzzTest { private final SOP sop = new SOPImpl(); private final byte[] data = "Hello, World!\n".getBytes(StandardCharsets.UTF_8); diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/alice.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/alice.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice.cert b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/alice.cert similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice.cert rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/alice.cert diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice.key b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/alice.key similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice.key rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/alice.key diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice_pub.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/alice_pub.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice_pub.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/alice_pub.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.enc.alice.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world.enc.alice.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.enc.alice.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world.enc.alice.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.enc.alice.bin b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world.enc.alice.bin similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.enc.alice.bin rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world.enc.alice.bin diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.sig b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world.sig similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.sig rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world.sig diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.sig.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world.sig.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.sig.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world.sig.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world_broken_crc.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world_broken_crc.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world_broken_crc.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world_broken_crc.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world_missing_crc.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world_missing_crc.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world_missing_crc.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ArmorFuzzTestInputs/armorAndDearmorData/hello-world_missing_crc.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-016417ab22e685a205fb1ba24fca0c0abdfbf024 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-016417ab22e685a205fb1ba24fca0c0abdfbf024 similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-016417ab22e685a205fb1ba24fca0c0abdfbf024 rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-016417ab22e685a205fb1ba24fca0c0abdfbf024 diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-4360ccd96e058fd2f83627a36f849592c6c4f113 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-4360ccd96e058fd2f83627a36f849592c6c4f113 similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-4360ccd96e058fd2f83627a36f849592c6c4f113 rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-4360ccd96e058fd2f83627a36f849592c6c4f113 diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-5beb6a9df56d2215eb9058bd241d195a41a3d5be b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-5beb6a9df56d2215eb9058bd241d195a41a3d5be similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-5beb6a9df56d2215eb9058bd241d195a41a3d5be rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-5beb6a9df56d2215eb9058bd241d195a41a3d5be diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-674d33e75e52b105c63919aed5341f44ee6d34b4 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-674d33e75e52b105c63919aed5341f44ee6d34b4 similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-674d33e75e52b105c63919aed5341f44ee6d34b4 rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-674d33e75e52b105c63919aed5341f44ee6d34b4 diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-69b4c08f74f9653ddf0bd13fd042638fafee18ab b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-69b4c08f74f9653ddf0bd13fd042638fafee18ab similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-69b4c08f74f9653ddf0bd13fd042638fafee18ab rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-69b4c08f74f9653ddf0bd13fd042638fafee18ab diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-6baebbe06e92c73d2cc41e2cd5eb358a07f34420 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-6baebbe06e92c73d2cc41e2cd5eb358a07f34420 similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-6baebbe06e92c73d2cc41e2cd5eb358a07f34420 rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-6baebbe06e92c73d2cc41e2cd5eb358a07f34420 diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-72aacd2d82d3c3fa750807ad1138e6a566996f04 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-72aacd2d82d3c3fa750807ad1138e6a566996f04 similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-72aacd2d82d3c3fa750807ad1138e6a566996f04 rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-72aacd2d82d3c3fa750807ad1138e6a566996f04 diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-7a28ce2dfca01ededa28577f0397be089cbb5193 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-7a28ce2dfca01ededa28577f0397be089cbb5193 similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-7a28ce2dfca01ededa28577f0397be089cbb5193 rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-7a28ce2dfca01ededa28577f0397be089cbb5193 diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-87b6b9d7de833ac9c1b42049a591b84b9cd4a937 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-87b6b9d7de833ac9c1b42049a591b84b9cd4a937 similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-87b6b9d7de833ac9c1b42049a591b84b9cd4a937 rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-87b6b9d7de833ac9c1b42049a591b84b9cd4a937 diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-91508c7a3d06501d324f4769f702818dc882cb53 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-91508c7a3d06501d324f4769f702818dc882cb53 similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-91508c7a3d06501d324f4769f702818dc882cb53 rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-91508c7a3d06501d324f4769f702818dc882cb53 diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-9991f110a0c43a7b68c355be88fbcb4f858ba523 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-9991f110a0c43a7b68c355be88fbcb4f858ba523 similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-9991f110a0c43a7b68c355be88fbcb4f858ba523 rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-9991f110a0c43a7b68c355be88fbcb4f858ba523 diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-a6688e26770eba930d1f4450628284f7e54a188e b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-a6688e26770eba930d1f4450628284f7e54a188e similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-a6688e26770eba930d1f4450628284f7e54a188e rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-a6688e26770eba930d1f4450628284f7e54a188e diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-b91786eba970d3f88e028504a52d00df2767ae30 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-b91786eba970d3f88e028504a52d00df2767ae30 similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-b91786eba970d3f88e028504a52d00df2767ae30 rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-b91786eba970d3f88e028504a52d00df2767ae30 diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-c01c76683093e04c68ebde60e0db25493521887c b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-c01c76683093e04c68ebde60e0db25493521887c similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-c01c76683093e04c68ebde60e0db25493521887c rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-c01c76683093e04c68ebde60e0db25493521887c diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-dd1bb74569f01fb452bc39370230fb8fe2fac7e2 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-dd1bb74569f01fb452bc39370230fb8fe2fac7e2 similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-dd1bb74569f01fb452bc39370230fb8fe2fac7e2 rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-dd1bb74569f01fb452bc39370230fb8fe2fac7e2 diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-f1916a406490728f771aae506c3e09c8b2cd446b b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-f1916a406490728f771aae506c3e09c8b2cd446b similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-f1916a406490728f771aae506c3e09c8b2cd446b rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-f1916a406490728f771aae506c3e09c8b2cd446b diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-f90880b9a49f13e75778cbf94d7d47feec11f941 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-f90880b9a49f13e75778cbf94d7d47feec11f941 similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/crash-f90880b9a49f13e75778cbf94d7d47feec11f941 rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/crash-f90880b9a49f13e75778cbf94d7d47feec11f941 diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/draft-koch-eddsa-for-openpgp-00.rfc4880.pgp b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/draft-koch-eddsa-for-openpgp-00.rfc4880.pgp similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/draft-koch-eddsa-for-openpgp-00.rfc4880.pgp rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/draft-koch-eddsa-for-openpgp-00.rfc4880.pgp diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/draft-koch-eddsa-for-openpgp-00.rfc4880.pgp.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/draft-koch-eddsa-for-openpgp-00.rfc4880.pgp.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/draft-koch-eddsa-for-openpgp-00.rfc4880.pgp.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/draft-koch-eddsa-for-openpgp-00.rfc4880.pgp.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/password.rfc4880.pgp b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/password.rfc4880.pgp similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/password.rfc4880.pgp rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/password.rfc4880.pgp diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/password.rfc4880.pgp.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/password.rfc4880.pgp.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/password.rfc4880.pgp.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/password.rfc4880.pgp.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/rfc4880.rfc4880.pgp b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/rfc4880.rfc4880.pgp similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/rfc4880.rfc4880.pgp rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/rfc4880.rfc4880.pgp diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/rfc4880.rfc4880.pgp.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/rfc4880.rfc4880.pgp.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptedMessageFuzzingTestInputs/decryptFuzzedMessage/rfc4880.rfc4880.pgp.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/EncryptFuzzTestInputs/decryptFuzzedMessage/rfc4880.rfc4880.pgp.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/crash-32e33f4ab3ec144d7ecab9104c44ec3776939e2a b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/crash-32e33f4ab3ec144d7ecab9104c44ec3776939e2a similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/crash-32e33f4ab3ec144d7ecab9104c44ec3776939e2a rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/crash-32e33f4ab3ec144d7ecab9104c44ec3776939e2a diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_ed25519.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_ed25519.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_ed25519.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_ed25519.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_ed25519.bin b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_ed25519.bin similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_ed25519.bin rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_ed25519.bin diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p256.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p256.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p256.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p256.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p256.bin b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p256.bin similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p256.bin rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p256.bin diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p384.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p384.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p384.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p384.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p384.bin b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p384.bin similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p384.bin rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p384.bin diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p521.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p521.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p521.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p521.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p521.bin b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p521.bin similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p521.bin rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_nist-p521.bin diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_rsa4096.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_rsa4096.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_rsa4096.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_rsa4096.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_rsa4096.bin b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_rsa4096.bin similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v4_rsa4096.bin rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v4_rsa4096.bin diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v6_ed25519.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v6_ed25519.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v6_ed25519.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v6_ed25519.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v6_ed25519.bin b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v6_ed25519.bin similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v6_ed25519.bin rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v6_ed25519.bin diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v6_ed448.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v6_ed448.asc similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v6_ed448.asc rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v6_ed448.asc diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v6_ed448.bin b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v6_ed448.bin similarity index 100% rename from pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/SignatureFuzzTestInputs/verifyFuzzedSig/sig_v6_ed448.bin rename to pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/VerifyFuzzTestInputs/verifyFuzzedSig/sig_v6_ed448.bin From 4b179d750a4618fb89ce79e11f8aeb738b847ad8 Mon Sep 17 00:00:00 2001 From: Paul Schaub Date: Wed, 30 Jul 2025 13:25:09 +0200 Subject: [PATCH 2/2] Checkstyle issues --- .../OpenPgpMessageInputStream.kt | 77 ++++++++++--------- .../pgpainless/signature/SignatureUtils.kt | 6 +- .../kotlin/org/pgpainless/util/ArmorUtils.kt | 3 +- .../fuzzing/PGPObjectFactoryFuzzingTest.kt | 4 +- .../kotlin/org/pgpainless/sop/ArmorImpl.kt | 17 ++-- .../kotlin/org/pgpainless/sop/DecryptImpl.kt | 9 +-- 6 files changed, 59 insertions(+), 57 deletions(-) diff --git a/pgpainless-core/src/main/kotlin/org/pgpainless/decryption_verification/OpenPgpMessageInputStream.kt b/pgpainless-core/src/main/kotlin/org/pgpainless/decryption_verification/OpenPgpMessageInputStream.kt index 9112273e..1259b668 100644 --- a/pgpainless-core/src/main/kotlin/org/pgpainless/decryption_verification/OpenPgpMessageInputStream.kt +++ b/pgpainless-core/src/main/kotlin/org/pgpainless/decryption_verification/OpenPgpMessageInputStream.kt @@ -139,11 +139,12 @@ class OpenPgpMessageInputStream( // Comsume packets, potentially stepping into nested layers layer@ while (run { - packet = try { - pIn.nextPacketTag() - } catch (e: NoSuchElementException) { - throw MalformedOpenPgpMessageException(e.message) - } + packet = + try { + pIn.nextPacketTag() + } catch (e: NoSuchElementException) { + throw MalformedOpenPgpMessageException(e.message) + } packet } != null) { @@ -210,25 +211,24 @@ class OpenPgpMessageInputStream( syntaxVerifier.next(InputSymbol.LITERAL_DATA) val literalData = packetInputStream!!.readLiteralData() - val streamEncoding = try { - StreamEncoding.requireFromCode(literalData.format) - } catch (e: NoSuchElementException) { - throw PGPException("Invalid stream encoding format encountered: ${literalData.format}; ${e.message}") - } + val streamEncoding = + try { + StreamEncoding.requireFromCode(literalData.format) + } catch (e: NoSuchElementException) { + throw PGPException( + "Invalid stream encoding format encountered: ${literalData.format}; ${e.message}") + } - val fileName = try { - literalData.fileName - } catch (e: IllegalArgumentException) { - // Non UTF8 - throw PGPException("Cannot decode literal data filename: ${e.message}") - } + val fileName = + try { + literalData.fileName + } catch (e: IllegalArgumentException) { + // Non UTF8 + throw PGPException("Cannot decode literal data filename: ${e.message}") + } // Extract Metadata - layerMetadata.child = - LiteralData( - fileName, - literalData.modificationTime, - streamEncoding) + layerMetadata.child = LiteralData(fileName, literalData.modificationTime, streamEncoding) nestedInputStream = literalData.inputStream } @@ -238,17 +238,15 @@ class OpenPgpMessageInputStream( signatures.enterNesting() val compressedData = packetInputStream!!.readCompressedData() - val compAlg = try { - CompressionAlgorithm.requireFromId(compressedData.algorithm) - } catch (e: NoSuchElementException) { - throw PGPException(e.message) - } + val compAlg = + try { + CompressionAlgorithm.requireFromId(compressedData.algorithm) + } catch (e: NoSuchElementException) { + throw PGPException(e.message) + } // Extract Metadata - val compressionLayer = - CompressedData( - compAlg, - layerMetadata.depth + 1) + val compressionLayer = CompressedData(compAlg, layerMetadata.depth + 1) LOGGER.debug( "Compressed Data Packet (${compressionLayer.algorithm}) at depth ${layerMetadata.depth} encountered.") @@ -347,7 +345,9 @@ class OpenPgpMessageInputStream( "Symmetrically Encrypted Data Packet at depth ${layerMetadata.depth} encountered.") syntaxVerifier.next(InputSymbol.ENCRYPTED_DATA) val encDataList = packetInputStream!!.readEncryptedDataList() - if (!encDataList.isIntegrityProtected && !encDataList.isEmpty && !encDataList.get(0).isAEAD) { + if (!encDataList.isIntegrityProtected && + !encDataList.isEmpty && + !encDataList.get(0).isAEAD) { LOGGER.warn("Symmetrically Encrypted Data Packet is not integrity-protected.") if (!options.isIgnoreMDCErrors()) { throw MessageNotIntegrityProtectedException() @@ -569,13 +569,14 @@ class OpenPgpMessageInputStream( pkesk: PGPPublicKeyEncryptedData ): Boolean { try { - val decrypted = try { - pkesk.getDataStream(decryptorFactory) - } catch (e: ClassCastException) { - throw PGPException(e.message) - } catch (e: IllegalArgumentException) { - throw PGPException(e.message) - } + val decrypted = + try { + pkesk.getDataStream(decryptorFactory) + } catch (e: ClassCastException) { + throw PGPException(e.message) + } catch (e: IllegalArgumentException) { + throw PGPException(e.message) + } val sessionKey = SessionKey(pkesk.getSessionKey(decryptorFactory)) throwIfUnacceptable(sessionKey.algorithm) diff --git a/pgpainless-core/src/main/kotlin/org/pgpainless/signature/SignatureUtils.kt b/pgpainless-core/src/main/kotlin/org/pgpainless/signature/SignatureUtils.kt index 6e1329fb..97c09eb4 100644 --- a/pgpainless-core/src/main/kotlin/org/pgpainless/signature/SignatureUtils.kt +++ b/pgpainless-core/src/main/kotlin/org/pgpainless/signature/SignatureUtils.kt @@ -165,13 +165,13 @@ class SignatureUtils { // having them compressed, // except for an attacker who is trying to exploit flaws in the decompression // algorithm. - // Therefore, we ignore compressed data packets without attempting decompression. + // Therefore, we ignore compressed data packets without attempting + // decompression. if (nextObject is PGPCompressedData) { // getInputStream() does not do decompression, contrary to getDataStream(). Streams.drain( (nextObject as PGPCompressedData) - .inputStream - ) // Skip packet without decompressing + .inputStream) // Skip packet without decompressing } if (nextObject is PGPSignatureList) { diff --git a/pgpainless-core/src/main/kotlin/org/pgpainless/util/ArmorUtils.kt b/pgpainless-core/src/main/kotlin/org/pgpainless/util/ArmorUtils.kt index b6e802b2..db1cb54d 100644 --- a/pgpainless-core/src/main/kotlin/org/pgpainless/util/ArmorUtils.kt +++ b/pgpainless-core/src/main/kotlin/org/pgpainless/util/ArmorUtils.kt @@ -247,7 +247,8 @@ class ArmorUtils { .add(OpenPgpFingerprint.of(publicKey).prettyPrint()) // Primary / First User ID (primary ?: first)?.let { - headerMap.getOrPut(HEADER_COMMENT) { mutableSetOf() } + headerMap + .getOrPut(HEADER_COMMENT) { mutableSetOf() } .add(it.replace("\n", "\\n").replace("\r", "\\r")) } // X-1 further identities diff --git a/pgpainless-core/src/test/kotlin/org/pgpainless/bouncycastle/fuzzing/PGPObjectFactoryFuzzingTest.kt b/pgpainless-core/src/test/kotlin/org/pgpainless/bouncycastle/fuzzing/PGPObjectFactoryFuzzingTest.kt index 05216f44..9a578c4f 100644 --- a/pgpainless-core/src/test/kotlin/org/pgpainless/bouncycastle/fuzzing/PGPObjectFactoryFuzzingTest.kt +++ b/pgpainless-core/src/test/kotlin/org/pgpainless/bouncycastle/fuzzing/PGPObjectFactoryFuzzingTest.kt @@ -6,13 +6,13 @@ package org.pgpainless.bouncycastle.fuzzing import com.code_intelligence.jazzer.api.FuzzedDataProvider import com.code_intelligence.jazzer.junit.FuzzTest +import java.io.EOFException +import java.io.IOException import org.bouncycastle.bcpg.ArmoredInputException import org.bouncycastle.bcpg.UnsupportedPacketVersionException import org.bouncycastle.openpgp.PGPException import org.bouncycastle.openpgp.PGPUtil import org.bouncycastle.openpgp.bc.BcPGPObjectFactory -import java.io.EOFException -import java.io.IOException class PGPObjectFactoryFuzzingTest { diff --git a/pgpainless-sop/src/main/kotlin/org/pgpainless/sop/ArmorImpl.kt b/pgpainless-sop/src/main/kotlin/org/pgpainless/sop/ArmorImpl.kt index 2a5dd6e7..000799a0 100644 --- a/pgpainless-sop/src/main/kotlin/org/pgpainless/sop/ArmorImpl.kt +++ b/pgpainless-sop/src/main/kotlin/org/pgpainless/sop/ArmorImpl.kt @@ -5,6 +5,7 @@ package org.pgpainless.sop import java.io.BufferedOutputStream +import java.io.IOException import java.io.InputStream import java.io.OutputStream import kotlin.jvm.Throws @@ -14,7 +15,6 @@ import org.pgpainless.util.ArmoredOutputStreamFactory import sop.Ready import sop.exception.SOPGPException import sop.operation.Armor -import java.io.IOException /** Implementation of the `armor` operation using PGPainless. */ class ArmorImpl : Armor { @@ -27,14 +27,15 @@ class ArmorImpl : Armor { val bufferedOutputStream = BufferedOutputStream(outputStream) // Determine the nature of the given data - val openPgpIn = OpenPgpInputStream(data, false).apply { - try { - inspectBuffer() - } catch (e: IOException) { - // ignore + val openPgpIn = + OpenPgpInputStream(data, false).apply { + try { + inspectBuffer() + } catch (e: IOException) { + // ignore + } + reset() } - reset() - } if (openPgpIn.isAsciiArmored) { // armoring already-armored data is an idempotent operation diff --git a/pgpainless-sop/src/main/kotlin/org/pgpainless/sop/DecryptImpl.kt b/pgpainless-sop/src/main/kotlin/org/pgpainless/sop/DecryptImpl.kt index 45210683..31938472 100644 --- a/pgpainless-sop/src/main/kotlin/org/pgpainless/sop/DecryptImpl.kt +++ b/pgpainless-sop/src/main/kotlin/org/pgpainless/sop/DecryptImpl.kt @@ -4,11 +4,13 @@ package org.pgpainless.sop -import org.bouncycastle.bcpg.UnsupportedPacketVersionException import java.io.IOException import java.io.InputStream import java.io.OutputStream import java.util.* +import java.util.zip.ZipException +import kotlin.NoSuchElementException +import org.bouncycastle.bcpg.UnsupportedPacketVersionException import org.bouncycastle.openpgp.PGPException import org.bouncycastle.util.io.Streams import org.pgpainless.PGPainless @@ -25,8 +27,6 @@ import sop.SessionKey import sop.exception.SOPGPException import sop.operation.Decrypt import sop.util.UTF8Util -import java.util.zip.ZipException -import kotlin.NoSuchElementException /** Implementation of the `decrypt` operation using PGPainless. */ class DecryptImpl : Decrypt { @@ -61,8 +61,7 @@ class DecryptImpl : Decrypt { throw SOPGPException.BadData(e) } catch (e: ModificationDetectionException) { throw SOPGPException.BadData(e) - } - finally { + } finally { // Forget passphrases after decryption protector.clear() }