diff --git a/pgpainless-sop/build.gradle b/pgpainless-sop/build.gradle index 53b499c6..adcbd283 100644 --- a/pgpainless-sop/build.gradle +++ b/pgpainless-sop/build.gradle @@ -18,6 +18,9 @@ dependencies { testImplementation "org.junit.jupiter:junit-jupiter-params:$junitVersion" testRuntimeOnly "org.junit.jupiter:junit-jupiter-engine:$junitVersion" + // Jazzer for Fuzzing + testImplementation "com.code-intelligence:jazzer-junit:0.24.0" + // Logging testImplementation "ch.qos.logback:logback-classic:$logbackVersion" diff --git a/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTest.java b/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTest.java new file mode 100644 index 00000000..bedeee9e --- /dev/null +++ b/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTest.java @@ -0,0 +1,30 @@ +package org.pgpainless.sop.fuzzing; + +import com.code_intelligence.jazzer.api.FuzzedDataProvider; +import com.code_intelligence.jazzer.junit.FuzzTest; +import org.bouncycastle.util.Arrays; +import org.pgpainless.sop.SOPImpl; +import sop.SOP; + +import java.io.IOException; + +import static org.junit.jupiter.api.Assertions.assertArrayEquals; + +public class AsciiArmorFuzzTest { + + private final SOP sop = new SOPImpl(); + + @FuzzTest() + public void armorAndDearmorData(FuzzedDataProvider data) throws IOException { + byte[] bytes = data.consumeBytes(1024); + + byte[] armored = sop.armor().data(bytes).getBytes(); + if (Arrays.areEqual(bytes, armored)) { + // armoring already armored data is idempotent + return; + } + + byte[] dearmored = sop.dearmor().data(armored).getBytes(); + assertArrayEquals(bytes, dearmored, new String(armored)); + } +} diff --git a/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/ParseCertFuzzTest.java b/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/ParseCertFuzzTest.java new file mode 100644 index 00000000..b8caebaf --- /dev/null +++ b/pgpainless-sop/src/test/java/org/pgpainless/sop/fuzzing/ParseCertFuzzTest.java @@ -0,0 +1,48 @@ +package org.pgpainless.sop.fuzzing; + +import com.code_intelligence.jazzer.api.FuzzedDataProvider; +import com.code_intelligence.jazzer.junit.FuzzTest; +import org.bouncycastle.bcpg.ArmoredInputException; +import org.bouncycastle.bcpg.UnsupportedPacketVersionException; +import org.bouncycastle.openpgp.api.OpenPGPCertificate; +import org.bouncycastle.openpgp.api.OpenPGPKeyReader; +import org.pgpainless.sop.SOPImpl; +import sop.SOP; + +import java.io.EOFException; +import java.io.IOException; + +public class ParseCertFuzzTest { + + private final SOP sop = new SOPImpl(); + + @FuzzTest(maxDuration = "30s") + public void parseOpenPGPCert(FuzzedDataProvider data) throws IOException { + byte[] certEncoding = data.consumeBytes(8192); + if (certEncoding.length == 0) { + return; + } + + try { + OpenPGPCertificate cert = new OpenPGPKeyReader().parseCertificate(certEncoding); + } + catch (ArmoredInputException e) { + // ignore + } + catch (EOFException e) { + // ignore + } + catch (IOException e) { + // ignore + } + catch (UnsupportedPacketVersionException e) { + // ignore + } + catch (ClassCastException e) { + + } + catch (OutOfMemoryError e) { + + } + } +} 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/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice.asc new file mode 100644 index 00000000..60329ee4 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice.asc @@ -0,0 +1,21 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- + +xVgEaGfc0BYJKwYBBAHaRw8BAQdATOdV6wukmqSavJGlnqhkk0fvPzhNnzvp3sv5 +gMq3BzUAAP9jcz6ydPE5rdNwUAxxOVn2stxGntC6mm0m9RI+1hYhbRCQzRxBbGlj +ZSA8YWxpY2VAcGdwYWlubGVzcy5vcmc+wp8EExYKAFEFgmhn3NAJEEjYL/TjDku0 +FqEE3bruvdTZy1Xd+RNsSNgv9OMOS7QCmwEFFQoJCAsFFgIDAQAECwkIBwknCQEJ +AgkDCAECngkFiQlmAYACmQEAAKq4AQC98RHIFbs5pyeWpKimjP3LFZ6rroorBcMc +izPAPqXEjQD+N5DSn/TJeKeld6KCB69W2KSj4BBdPvabLG6cRq+/8AbHWARoZ9zQ +FgkrBgEEAdpHDwEBB0A9Q+9+bvKSI1voDq+rb7yKjCVKVG4jO1qj/wTPF5PkSQAB +AIP7XckHeFuJ8qnp2hU2keb+Xzo+8ZlR57mj37uAuQUzEibCwBgEGBYKAIoFgmhn +3NAJEERXJjHxSbsAFqEEFQlMncw3fOJ/EBmfRFcmMfFJuwACmwJfIAQZFgoABgWC +aGfc0AAKCRBEVyYx8Um7AEw5AQDkSgGU1E6rmHO2DTj1jNXkD8k3rnyxxjP66RLi +whLVYwD9FwWQ5kXwM2qFheWbuMN7sghEt+SDQHc7tgwgnWppEwAAAGNHAQDM4ncO +o05rjfFVAaTFJ26Ixm8MK2HnGl+fQT73wyDJEgD/U/g+b7bppnSF4scuZMUSA9xQ +oyK3b5J5uNqfj+mxpgDHXQRoZ9zQEgorBgEEAZdVAQUBAQdAdEmUSz3XlPFa+u8I +0hJu+RAuJO0Sj64+ZlvawGsQhFcDAQgHAAD/Y78qz+fyfkEa6DjwhhLdZzKWJlII +KL1oW1vsNE8SVEAPGMJ4BBgWCgAqBYJoZ9zQCRBqhz9va/rd1hahBOfnmVV9LWWf +y/UZPWqHP29r+t3WApsMAADktwD/TSz5ZK5WFaaLSzpIwyA2U9XvgUvGD+5bSban +XsYU9LwA/1NWshgcBfDMRoboZGPwWIikfRUOatGph4IRj/5UZmIJ +=n5sh +-----END PGP PRIVATE KEY BLOCK----- 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/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice.cert new file mode 100644 index 00000000..2d75333f --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice.cert @@ -0,0 +1,21 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: DDBA EEBD D4D9 CB55 DDF9 136C 48D8 2FF4 E30E 4BB4 +Comment: Alice + +xjMEaGfc0BYJKwYBBAHaRw8BAQdATOdV6wukmqSavJGlnqhkk0fvPzhNnzvp3sv5 +gMq3BzXNHEFsaWNlIDxhbGljZUBwZ3BhaW5sZXNzLm9yZz7CnwQTFgoAUQWCaGfc +0AkQSNgv9OMOS7QWoQTduu691NnLVd35E2xI2C/04w5LtAKbAQUVCgkICwUWAgMB +AAQLCQgHCScJAQkCCQMIAQKeCQWJCWYBgAKZAQAAqrgBAL3xEcgVuzmnJ5akqKaM +/csVnquuiisFwxyLM8A+pcSNAP43kNKf9Ml4p6V3ooIHr1bYpKPgEF0+9pssbpxG +r7/wBs4zBGhn3NAWCSsGAQQB2kcPAQEHQD1D735u8pIjW+gOr6tvvIqMJUpUbiM7 +WqP/BM8Xk+RJwsAYBBgWCgCKBYJoZ9zQCRBEVyYx8Um7ABahBBUJTJ3MN3zifxAZ +n0RXJjHxSbsAApsCXyAEGRYKAAYFgmhn3NAACgkQRFcmMfFJuwBMOQEA5EoBlNRO +q5hztg049YzV5A/JN658scYz+ukS4sIS1WMA/RcFkOZF8DNqhYXlm7jDe7IIRLfk +g0B3O7YMIJ1qaRMAAABjRwEAzOJ3DqNOa43xVQGkxSduiMZvDCth5xpfn0E+98Mg +yRIA/1P4Pm+26aZ0heLHLmTFEgPcUKMit2+Sebjan4/psaYAzjgEaGfc0BIKKwYB +BAGXVQEFAQEHQHRJlEs915TxWvrvCNISbvkQLiTtEo+uPmZb2sBrEIRXAwEIB8J4 +BBgWCgAqBYJoZ9zQCRBqhz9va/rd1hahBOfnmVV9LWWfy/UZPWqHP29r+t3WApsM +AADktwD/TSz5ZK5WFaaLSzpIwyA2U9XvgUvGD+5bSbanXsYU9LwA/1NWshgcBfDM +RoboZGPwWIikfRUOatGph4IRj/5UZmIJ +=hJD/ +-----END PGP PUBLIC KEY BLOCK----- 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/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice.key new file mode 100644 index 00000000..1833595e Binary files /dev/null and b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice.key differ 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/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice_pub.asc new file mode 100644 index 00000000..2d75333f --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/alice_pub.asc @@ -0,0 +1,21 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: DDBA EEBD D4D9 CB55 DDF9 136C 48D8 2FF4 E30E 4BB4 +Comment: Alice + +xjMEaGfc0BYJKwYBBAHaRw8BAQdATOdV6wukmqSavJGlnqhkk0fvPzhNnzvp3sv5 +gMq3BzXNHEFsaWNlIDxhbGljZUBwZ3BhaW5sZXNzLm9yZz7CnwQTFgoAUQWCaGfc +0AkQSNgv9OMOS7QWoQTduu691NnLVd35E2xI2C/04w5LtAKbAQUVCgkICwUWAgMB +AAQLCQgHCScJAQkCCQMIAQKeCQWJCWYBgAKZAQAAqrgBAL3xEcgVuzmnJ5akqKaM +/csVnquuiisFwxyLM8A+pcSNAP43kNKf9Ml4p6V3ooIHr1bYpKPgEF0+9pssbpxG +r7/wBs4zBGhn3NAWCSsGAQQB2kcPAQEHQD1D735u8pIjW+gOr6tvvIqMJUpUbiM7 +WqP/BM8Xk+RJwsAYBBgWCgCKBYJoZ9zQCRBEVyYx8Um7ABahBBUJTJ3MN3zifxAZ +n0RXJjHxSbsAApsCXyAEGRYKAAYFgmhn3NAACgkQRFcmMfFJuwBMOQEA5EoBlNRO +q5hztg049YzV5A/JN658scYz+ukS4sIS1WMA/RcFkOZF8DNqhYXlm7jDe7IIRLfk +g0B3O7YMIJ1qaRMAAABjRwEAzOJ3DqNOa43xVQGkxSduiMZvDCth5xpfn0E+98Mg +yRIA/1P4Pm+26aZ0heLHLmTFEgPcUKMit2+Sebjan4/psaYAzjgEaGfc0BIKKwYB +BAGXVQEFAQEHQHRJlEs915TxWvrvCNISbvkQLiTtEo+uPmZb2sBrEIRXAwEIB8J4 +BBgWCgAqBYJoZ9zQCRBqhz9va/rd1hahBOfnmVV9LWWfy/UZPWqHP29r+t3WApsM +AADktwD/TSz5ZK5WFaaLSzpIwyA2U9XvgUvGD+5bSbanXsYU9LwA/1NWshgcBfDM +RoboZGPwWIikfRUOatGph4IRj/5UZmIJ +=hJD/ +-----END PGP PUBLIC KEY BLOCK----- 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/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world new file mode 100644 index 00000000..8ab686ea --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world @@ -0,0 +1 @@ +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/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.asc new file mode 100644 index 00000000..f7e94a34 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.asc @@ -0,0 +1,5 @@ +-----BEGIN PGP MESSAGE----- + +SGVsbG8gV29ybGQK +=1hzE +-----END PGP MESSAGE----- \ No newline at end of file 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/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.enc.alice.asc new file mode 100644 index 00000000..9ffec16b --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.enc.alice.asc @@ -0,0 +1,9 @@ +-----BEGIN PGP MESSAGE----- + +wWwGFQTn55lVfS1ln8v1GT1qhz9va/rd1hIBB0CK2xMAGPBhSAztl26xmFEMGg3a +oKnwCwphhU7yshVCOTAY4zKszTvvn3CxMV8HbNQ0jr61kp9H9bwGDz8w6Nz/WQrn +S4QPVvXsLOIZd9L/KKbSWgIJAQOoAMCSkjp146L+E1uYItfRk/K4dupbQWX+jAHp +6MJvIi4rzyht7qt2C0RPPFDImzCTR9V1Ry/BCa3w4E3x3CBpFVyEy9N8mizUEJU6 +TPRvAFqekyQpjg== +=EL9J +-----END PGP MESSAGE----- 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/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.enc.alice.bin new file mode 100644 index 00000000..8c70cf9b Binary files /dev/null and b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.enc.alice.bin differ 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/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.sig new file mode 100644 index 00000000..5caf248d Binary files /dev/null and b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.sig differ 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/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.sig.asc new file mode 100644 index 00000000..0c814c86 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world.sig.asc @@ -0,0 +1,7 @@ +-----BEGIN PGP SIGNATURE----- + +wnUEABYKACcFgmhn3d8JEERXJjHxSbsAFqEEFQlMncw3fOJ/EBmfRFcmMfFJuwAA +AOgXAQCAXxXslQv4i9C4kAW9aOJCj7Cn7ZkMsyQvw9vTSW5R6QD9FmncQ64oOGEL +gtX9s6OFb7Bd1UEbfL7G3QS2wg0QHQc= +=o0Xk +-----END PGP SIGNATURE----- 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/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world_broken_crc.asc new file mode 100644 index 00000000..05183ba9 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world_broken_crc.asc @@ -0,0 +1,5 @@ +-----BEGIN PGP MESSAGE----- + +SGVsbG8gV29ybGQK +=1hzA +-----END PGP MESSAGE----- \ No newline at end of file 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/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world_missing_crc.asc new file mode 100644 index 00000000..2f74f208 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/AsciiArmorFuzzTestInputs/armorAndDearmorData/hello-world_missing_crc.asc @@ -0,0 +1,4 @@ +-----BEGIN PGP MESSAGE----- + +SGVsbG8gV29ybGQK +-----END PGP MESSAGE----- \ No newline at end of file diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/alice.cert b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/alice.cert new file mode 100644 index 00000000..2d75333f --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/alice.cert @@ -0,0 +1,21 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: DDBA EEBD D4D9 CB55 DDF9 136C 48D8 2FF4 E30E 4BB4 +Comment: Alice + +xjMEaGfc0BYJKwYBBAHaRw8BAQdATOdV6wukmqSavJGlnqhkk0fvPzhNnzvp3sv5 +gMq3BzXNHEFsaWNlIDxhbGljZUBwZ3BhaW5sZXNzLm9yZz7CnwQTFgoAUQWCaGfc +0AkQSNgv9OMOS7QWoQTduu691NnLVd35E2xI2C/04w5LtAKbAQUVCgkICwUWAgMB +AAQLCQgHCScJAQkCCQMIAQKeCQWJCWYBgAKZAQAAqrgBAL3xEcgVuzmnJ5akqKaM +/csVnquuiisFwxyLM8A+pcSNAP43kNKf9Ml4p6V3ooIHr1bYpKPgEF0+9pssbpxG +r7/wBs4zBGhn3NAWCSsGAQQB2kcPAQEHQD1D735u8pIjW+gOr6tvvIqMJUpUbiM7 +WqP/BM8Xk+RJwsAYBBgWCgCKBYJoZ9zQCRBEVyYx8Um7ABahBBUJTJ3MN3zifxAZ +n0RXJjHxSbsAApsCXyAEGRYKAAYFgmhn3NAACgkQRFcmMfFJuwBMOQEA5EoBlNRO +q5hztg049YzV5A/JN658scYz+ukS4sIS1WMA/RcFkOZF8DNqhYXlm7jDe7IIRLfk +g0B3O7YMIJ1qaRMAAABjRwEAzOJ3DqNOa43xVQGkxSduiMZvDCth5xpfn0E+98Mg +yRIA/1P4Pm+26aZ0heLHLmTFEgPcUKMit2+Sebjan4/psaYAzjgEaGfc0BIKKwYB +BAGXVQEFAQEHQHRJlEs915TxWvrvCNISbvkQLiTtEo+uPmZb2sBrEIRXAwEIB8J4 +BBgWCgAqBYJoZ9zQCRBqhz9va/rd1hahBOfnmVV9LWWfy/UZPWqHP29r+t3WApsM +AADktwD/TSz5ZK5WFaaLSzpIwyA2U9XvgUvGD+5bSbanXsYU9LwA/1NWshgcBfDM +RoboZGPwWIikfRUOatGph4IRj/5UZmIJ +=hJD/ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/alice_pub.asc b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/alice_pub.asc new file mode 100644 index 00000000..2d75333f --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/alice_pub.asc @@ -0,0 +1,21 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: DDBA EEBD D4D9 CB55 DDF9 136C 48D8 2FF4 E30E 4BB4 +Comment: Alice + +xjMEaGfc0BYJKwYBBAHaRw8BAQdATOdV6wukmqSavJGlnqhkk0fvPzhNnzvp3sv5 +gMq3BzXNHEFsaWNlIDxhbGljZUBwZ3BhaW5sZXNzLm9yZz7CnwQTFgoAUQWCaGfc +0AkQSNgv9OMOS7QWoQTduu691NnLVd35E2xI2C/04w5LtAKbAQUVCgkICwUWAgMB +AAQLCQgHCScJAQkCCQMIAQKeCQWJCWYBgAKZAQAAqrgBAL3xEcgVuzmnJ5akqKaM +/csVnquuiisFwxyLM8A+pcSNAP43kNKf9Ml4p6V3ooIHr1bYpKPgEF0+9pssbpxG +r7/wBs4zBGhn3NAWCSsGAQQB2kcPAQEHQD1D735u8pIjW+gOr6tvvIqMJUpUbiM7 +WqP/BM8Xk+RJwsAYBBgWCgCKBYJoZ9zQCRBEVyYx8Um7ABahBBUJTJ3MN3zifxAZ +n0RXJjHxSbsAApsCXyAEGRYKAAYFgmhn3NAACgkQRFcmMfFJuwBMOQEA5EoBlNRO +q5hztg049YzV5A/JN658scYz+ukS4sIS1WMA/RcFkOZF8DNqhYXlm7jDe7IIRLfk +g0B3O7YMIJ1qaRMAAABjRwEAzOJ3DqNOa43xVQGkxSduiMZvDCth5xpfn0E+98Mg +yRIA/1P4Pm+26aZ0heLHLmTFEgPcUKMit2+Sebjan4/psaYAzjgEaGfc0BIKKwYB +BAGXVQEFAQEHQHRJlEs915TxWvrvCNISbvkQLiTtEo+uPmZb2sBrEIRXAwEIB8J4 +BBgWCgAqBYJoZ9zQCRBqhz9va/rd1hahBOfnmVV9LWWfy/UZPWqHP29r+t3WApsM +AADktwD/TSz5ZK5WFaaLSzpIwyA2U9XvgUvGD+5bSbanXsYU9LwA/1NWshgcBfDM +RoboZGPwWIikfRUOatGph4IRj/5UZmIJ +=hJD/ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-0a029b82575b0e76bd3fb06c215091f8fdbd98e6 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-0a029b82575b0e76bd3fb06c215091f8fdbd98e6 new file mode 100644 index 00000000..6b9bddb1 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-0a029b82575b0e76bd3fb06c215091f8fdbd98e6 @@ -0,0 +1,21 @@ +-----BEGIN e@pgpainless.org> + +xjMEaGfc0BYJKwYBBAHaRw8BAQdATOdV6wukmqSavJGlnqhkk0fvPzhNnzvp3sv5 +gMq3BzXNHEFsaWNlIDxhbGljZUBwZ3BhaW5sZXNzLm9yZz7CnwQTFgoAUQWCaGfc +0AkQSNgv9OMOS7QWoQTduu691NnLVd35E2xI2C/04w5LtAKbAQUVCgkICwUWAgMB +AAQLCQgHCScJAQkCCQMIAQKeCQWJCWYBgAKZAQAAqrgBAL3xEcgVuzmnJ5akqKaM +/csVnquuiisFwxyLM8A+pcSNAP43kNKf9Ml4p6V3ooIHr1bYpKPgEF0+9pssbpxG +r7/wBs4zBGhn3NAWCSsGAQQB2kcPAQEHQD1D735u8pIjW+gOr6tvvIqMJUpUbiM7 +WqP/BM8Xk+RJwsAYBBgWCgCKBYJoZ9zQCRBEVyYx8Um7ABahBBUJTJ3MN3zifxAZ +n0RXJjHxSbsAApsCXyAEGRYKAAYFgmhn3NAACgkQRFcmMfFJuwBMOQEA5EoBlNRO +q5hztg049YzV5A/JN658scYz+ukS4sIS1WMA/RcFkOZF8DNqhYXlm7jDe7IIRLfk +g0B3O7YMIJ1qaRMAAABjRwEAzOJ3DqNOa43xVQGkxSduiMZvDCth5xpfn0E+98Mg +yRIA/1P4Pm+26aZ0heLHLmTFEgPcUKMit2+Sebjan4/psaYAzjgEaGfc0BIKKwYB +BAGXVQEFAQEHQHRJlEs915TxWvrvCNISbvkQLiTtEo+uPmZb2sBrEIRXAwEIB8J4 +BBgWCgAqBYJoZ9zQCRBqhz9va/rd1hahBOfnmVV9LWWfy/UZPWqHP29r+t3WApsM +AADkCNISbvkQLiTtEo+uPmZb2sBrEIRXAwEIB8J4 +BBgWCgAqBYJoZ9zQCRBqhz9va/rd1hahBOfnmVV9LWWfy/UZPWqHP29r+t3WApsM +AADktwD/TSz5ZK5WFaaLSzpIwyA2U9XvgUvGD+5bSbanXsYU9LwA/1NWshgcBfDM +RoboZGPwWIikfRUOatGph4IRj/5UZmIJ +=hJD/ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-1f62a2420a02ef980e60d0d4ab2c1533dbd30333 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-1f62a2420a02ef980e60d0d4ab2c1533dbd30333 new file mode 100644 index 00000000..c287f99c --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-1f62a2420a02ef980e60d0d4ab2c1533dbd30333 @@ -0,0 +1 @@ +wxsFxjyLM8Ml9MlS \ No newline at end of file diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-2dac4aca575d32e777d909bee76ae15a353fa725 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-2dac4aca575d32e777d909bee76ae15a353fa725 new file mode 100644 index 00000000..d55f7332 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-2dac4aca575d32e777d909bee76ae15a353fa725 @@ -0,0 +1,19 @@ +-----BEGIN PGP PUBLIC KE48D8 2FF4 E30E 4BB4 +Comment: Alice + +xjMEaGfc0BYJKwYBBAHaRw8BAQdATOdV6wukmqSavJGlnqhkk0fvPzhNnzvp3sv5 +gMq3BzXNHEFsaWNlIDxhbGljZUBwZ3BhaW5sZXNzLm9yZz7CnwQTFgoAUQWCaGfc +0AkQSNgv9OMOS7QWoQTduu691NnLVd35E2xI2C/04w5LtAKbAQUVCgkICwUWAgMB +AAQLCQgHCScJAQkCCQMIAQKeCQWJCWYBgAKZAQAAqrgBAL3xEcgVuzmnJ5akqKaM +/csVnquuiisFwxyLM8A+pcSNAP43kNKf9Ml4p6V3ooIHr1bYpKPgEF0+9pssbpxG +r7/wBs4zBGhn3NASCSsGAQQB2kcPAQEHQD1D735u8pIjW+gOr6tvvIqMJUpUbiM7 +WqP/BM8Xk+RJwsAYBBgWCgCKBYJoZ9zQCRBEVyYx8Um7ABahBBUJTJ3MN3zifxAZ +n0RXJjHxSbsAApsCXyAEGRYKAAYFgmhn3NAACgkQRFcmMfFJuwBMOQEA5EoBlNRO +q5hztg049YzV5A/JN658scYz+ukS4sIS1WMA/RcFkOZF8DNqhYXlm7jDe7IIRLfk +g0B3O7YMIJ1qaRMAAABjRwEAzOJ3DqNOa43xVQGkxSduiMZvDCth5xpfn0E+98Mg +yRIA/1P4Pm+26aZ0heLHLmTFEgPcUKMit2+Sebjan4/psaYAzjgEaGfc0BIKKwYB +BAGXVQEFAQEHkQRFcmMfFJuwBMOQEA5EoBlNRO +q5hztg049YzV5A/JN658scYz+ukS4sIS1WMA/RcFkOZF8DNqhYXlm7jDe7IIRLfk +g0B3O7YMIJ1qaRMAAABjRwEAzOJ3DqNOa43xVQGkxSduiMZvDCth5xpfn0E+98Mg +yRIA/1P4Pm+26aZ0heLHLmTFEgPcUKMit2+SebQHRJlEs915TxWvrvCNISbvk+uPmZb2sBrEIRXAwU9XvgUvGD+5bSbanXsYU9LwA/1NWshgcBfDM +RoboZGP---END PGP PUBLIC KEY BLOCK----- diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-315fa4eed3a87da9415b93b47195902308f83963 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-315fa4eed3a87da9415b93b47195902308f83963 new file mode 100644 index 00000000..b3591bb9 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-315fa4eed3a87da9415b93b47195902308f83963 @@ -0,0 +1,6 @@ +-Kg> + +xjMEaGfc0BYJKwYBBAHaRw8BAQdATOdV6wukmqSavJGLnqhkk0fvPzaNnzvp3sv1 +gMq3Zz7CowQTFgoAUQWCaGfc +0AkQSNgv9OMOS4QWoQTduu346NnLVd30E2xI2C/04w5LtAKbAQUVCgkICwUWAgMB +AAQCCQgHCScJAQkCCQMIAQKeCQWJCWYBgAKZAQAAqrLgB3AxEcgb \ No newline at end of file diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-4ded2defb9d9d728ed6bd2ae30957985122073df b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-4ded2defb9d9d728ed6bd2ae30957985122073df new file mode 100644 index 00000000..7bc973b3 Binary files /dev/null and b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-4ded2defb9d9d728ed6bd2ae30957985122073df differ diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-56ef8d72d34df75d4618b3e8b50a126e9fd60dfe b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-56ef8d72d34df75d4618b3e8b50a126e9fd60dfe new file mode 100644 index 00000000..f8ca4f7f --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-56ef8d72d34df75d4618b3e8b50a126e9fd60dfe @@ -0,0 +1 @@ +ööööödööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööööˇ \ No newline at end of file diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-5a6b875c86e8e9778c5454164b573d6db64f47f5 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-5a6b875c86e8e9778c5454164b573d6db64f47f5 new file mode 100644 index 00000000..c1cb2fac --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-5a6b875c86e8e9778c5454164b573d6db64f47f5 @@ -0,0 +1 @@ +‹ \ No newline at end of file diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-659c9a1c28029f7560b17c33f46652293fe3ff5b b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-659c9a1c28029f7560b17c33f46652293fe3ff5b new file mode 100644 index 00000000..9c6d4277 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-659c9a1c28029f7560b17c33f46652293fe3ff5b @@ -0,0 +1,3 @@ +- + +xjMGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGGA 138C u5D8 \ No newline at end of file diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-683e76bcd514f90093ee6fded36b704360f8521c b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-683e76bcd514f90093ee6fded36b704360f8521c new file mode 100644 index 00000000..73df5fbd --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-683e76bcd514f90093ee6fded36b704360f8521c @@ -0,0 +1,21 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: DDBA EEBD D4D9 CB55 DDF9 136C 48D8 2FF4 E30E 4BB4 +Comment: Alice + +xjMEaGfc0BYJKwYBBAHaRw8BAQdATOdV6wukmqSavJGlnqhkk0fvPzhNnzvp3sv5 +gMq3BzXNHEFsaWNlIDxhbGljZUBwZ3BhaW5sZXNzLm9yZz7CnwQTFgoAUQWCaGfc +0AkQSNgv9OMOS7QWoQTduu691NnLVd35E2xI2C/04w5LtAKbAQUVCgkICwUWAgMB +AAQLCQgHCScJAQkCCQMIAQKeCQWJCWYBgAKZAQAAqrgBAL3xEcgVuzmnJ5akqKaM +/csVnquuiisFwxyLM8A+pcSNAP43kNKf9Ml4p6V3ooIHr1bYpKPgEF0+9pssbpxG +r7/wBs4zBGhn3NAWCSsGAQQB2kcPAQEHQD1D735u8pIjW+gOr6tvvIqMJUpUbiM7 +WqP/BM8Xk+RJwsAYBBgWCgCKBYJoZ9zQCRBEVyYx8Um7ABahBBUJTJ3MN3zifxAZ +n0RXJjHxSbsAApsCXyAEGRYKAApFgmhn3NAACgkQRFcmMfFJuwBMOQEA5EoBlNRO +q5hztg049YzV5A/JN658scYz+ukS4sIS1WMA/RcFkOZF8DNqhYXlm7jDe7IIRLfk +g0B3O7YMIJ1qaRMAAABjRwEAzOJ3DqNOa43xVQGkxSduiMZvDCth5xpfn0E+98Mg +yRIA/1P4Pm+26aZ0heLHLmTFEgPcUKMit2+Sebjan4/psaYAzjgEaGfc0BIKKwYB +BAGXVQEFAQEHQHRJlEs915TxWvrvCNISbvkQLiTtEo+uPmZb2sBrEIRXAwEIB8J4 +BBgWCgAqBYJoZ9zQCRBqhz9va/rd1hahBOfnmVV9LWWfy/UZPWqHP29r+t3WApsM +AADktwD/TSz5ZK5WFaaLSzpIwyA2U9XvgUvGD+5bSbanXsYU9LwA/1NWshgcBfDM +RoboZGPwWIikfRUOatGph4IRj/5UZmIJ +=hJD/ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-69d0980b9798ae5ea5a1cd4a1054b8dc0ae5d9ee b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-69d0980b9798ae5ea5a1cd4a1054b8dc0ae5d9ee new file mode 100644 index 00000000..6a2c8f30 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-69d0980b9798ae5ea5a1cd4a1054b8dc0ae5d9ee @@ -0,0 +1,19 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: DDBA EEBD D4D9 CB55 DDF9 136C 48D8 2FF4 E30E 4BB4 +Comment: Alice + +xjMEaGfc0BYJKwYBBAHaRw8BAQdATOdV6wukmqSavJGlnqhkk0fvPzhNnzvp3sv5 +gMq3BzXNHEFsaWNlIDxhbGljZUBwZ3BhaW5sZXNzLm9yZz7CnwQTFgoAUQWCaGfc +0AkQSNgv9OMOS7QWoQTduu691NnLVd35E2xI2C/04w5LtAKbAQUVCgkICwUWAgMB +AAQLCQgHCScJAQkCCQMIAQKeCQWJCWYBgAKZAQAAqrgBAL3xEcgVuzmnJ5akqKaM +/csVnquuiisFwxyLM8A+pcSNAP43kNKf9Ml4p6V3ooIHr1bYpKPgEF0+9pssbpxG +r7/wBs4zBGhn3NAWCSsGAQQB2kcPAQEHQD1D735u8pIjW+gOr6tvvIqMJUpUbiM7 +WqP/BM8Xk+RJwsAYBBgWCgCKBYJoZ9zQCRBEVyYx8Um7ABahBBUJTJ3MN3zifxAZ +n0RXJjHxSbsAApsCXyAEGRYKAAYFgmhn3NAACgkQRFcmMfFJuwBMOQEA5EoBlNRO +q5hztg049YzV5A/JN658scYz+ukS4sIS1WMA/RcFkOZF8DNqhYXlm7jDe7IIRLfk +g0B3O7YMIJ1qaRMAAABjRwEAzOJ3DqNOa43xVQGkxSduiMZvDCth5xpfn0E+98Mg +yRIA/1P4Pm+26aZ0heLHLmTFEgPcUKMit2+Sebjan4/psaYAzjgEaGfc0BIKKwYB +BAGXVQEFAQEHQHRJlEs915TxWvrvCNISbvkQLiTtEo+uPmZb2sBrEIRXAwU9XvgUvGD+5bSbanXsYU9LwA/1NWshgcBfDM +RoboZGPwWIikfRUOatGph4IRj/5UZmIJ +=hJD/ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-79e915474e9a2d7508fb6baa8c0b930ec317c72b b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-79e915474e9a2d7508fb6baa8c0b930ec317c72b new file mode 100644 index 00000000..7ba1b4eb --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-79e915474e9a2d7508fb6baa8c0b930ec317c72b @@ -0,0 +1,15 @@ +-----BEGIN PGP PUBLIC KE48D8 2FF4 E30E 4BB4 +Comment: Alice + +xjMEaGfc0BYJKwYBBAHaRw8BAQdATOdV6wukmqSavJGlnqhkk0fvPzhNnzvp3sv5 +gMq3BzXNHEFsaWNlIDxhbGljZUBwZ3BhaW5sZXNzLm9yZz7CnwQTFgoAUQWCaGfc +0AkQSNgv9OMOS7QWoQTduu691NnLVd35E2xI2C/04w5LtAKbAQUVCgkICwUWAgMB +AAQLCQgHCScJAQkCCQMIAQKeCQWJCWYBgAKZAQAAqrgBAL3xEcgVuzmnJ5akqKaM +/csVnquuiisFwxyLM8A+pcSNAP43kNKf9Ml4p6V3ooIHr1bYpKPgEF0+9pssbpxG +r7/wBs4zBYYYYYYYYYYYYYYYYYYYYYYGhn3NAWCSsGAQQB2kcPAQEHQD1D735u8pIjW+gOr6tvvIqMJUpUbiM7 +WqP/BM8Xk+RJwsAYBBgWCgCKBYJoZ9zQCRÂEVyYx8Um7ABahBBUJTJ3MN3zifxAZ +n0RXJjHxSbsAApsCXyAEGRYKAAYFgmhn3NAACgkQRFcmMfFJuwBMOQEA5EoBlNRO +q5hztg049YzV5A/JN658scYz+ukS4sIS1WMA/RcFkOZF8DNqhYXlm7h5xpfn0E+98Mg +yRIA/1P4Pm+26aZ0heLHLmTFEgPcUKMit2+Sebjan4/psaYAzjgEaGfc0BIKKwYB +BAGXVQEFAQEHQHRJlEs915TxWvrvCNI˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙˙SbvkQLiTtEo+uPmZb2sBrEIRXAwU9XvgUvGD+5bSbanXsYU9LwA/1NWshgcBfDM +RoboZGP---END PGP PUBLIC KEY BLOCK----- diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-806000130f90ce82b72e494ef5fb871869da8639 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-806000130f90ce82b72e494ef5fb871869da8639 new file mode 100644 index 00000000..3f67fb7f --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-806000130f90ce82b72e494ef5fb871869da8639 @@ -0,0 +1,16 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: DDBA EEBD D4D9 CB55 DDF9 136C 48D8 2FF4 E30E 4BB4 +Comment: Alice + +xjMEaGfc0BYJKwYBBAHaRw8BAQdATOdV6wukmqSavJGlnqhkk0fvPzhNnzvp3sv5 +gMq3BzXNHEFsaWNlIDxhbGljZUBwLOCKZ3BhaW5sZXNzLm9yZz7CnwQTFgoAUQWCaGfc +0AkQSNgv9OMOS7QWoQTduu691NnLVd35E2xI2C/04w5LtAKbAQUVCgkICwUWAgMB +AAQLCQgHCScJAQkCCQMIAQKeCQWJCWYBgAKZAQAAqrgBAL3xEcgVuzmnJ5akqKaM +/csVnquuiisFwxyLM8A+pcSNAP43kNKf9Ml4p6V3ooIHr1bYpKPgEF0+9pssbpxG +r7/wBs4zBGhd35E2xI2C/04w5LtAKbAQUVCgkICwUWAgMB +AAQLCQgHCScJAQkCCQWvrvCNISbvkQLiTtEo+uPmZb2sBrEIRXAwEIB8J4 +BBgWCgAqBYJoZ9zQCRBqhz9va/rd1hahBOfnmVV9LWWfy/U^PWqHP29r+t3WApsM +AADktwD/TSz5ZK5WFaaLSzpIwyA2U9XvgUvGD+5bSbanXsYU9LwA/1NWshgcBfDM +RoboZGPwWIikfRUOatGph4IRj/5UZmIJ +=hJD/ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-8e3b42793b220b96d02cf8942d0311b930594e01 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-8e3b42793b220b96d02cf8942d0311b930594e01 new file mode 100644 index 00000000..710df371 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-8e3b42793b220b96d02cf8942d0311b930594e01 @@ -0,0 +1,6 @@ +Ķ--GIN PGP PUBLICC> + +xjMEaGfc0BYJKwYBBAHÂaRw8BAQdCTOdV6wukmqSavJGlnqhkk0fvPzhNnzvp3sv5 +gMq3BzXYNHEFsaWNlIDxŌhbG--- +ljZUBwZ3BhaW5s +ZXNz \ No newline at end of file diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-92fe4e1d57663a9b8f1afaf42b2b7ab19b1511be b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-92fe4e1d57663a9b8f1afaf42b2b7ab19b1511be new file mode 100644 index 00000000..5d3e5870 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-92fe4e1d57663a9b8f1afaf42b2b7ab19b1511be @@ -0,0 +1 @@ +ŅŽ˙˙˙˙˙˙˙˙ \ No newline at end of file diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-9bc5937c36255779a76d5e95128766c09402a307 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-9bc5937c36255779a76d5e95128766c09402a307 new file mode 100644 index 00000000..6cfe266e --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-9bc5937c36255779a76d5e95128766c09402a307 @@ -0,0 +1,7 @@ +YB +BAGXVQEFAQEHQHRJlEs915TxWvrvCNISbvkQLiTtEo+uPmZb2sBrEIRXAwEIB8J4 +BBgWCgAqBYJoZ9zQIC KEY BLOCK-e7IIRLfk +g0B3O7YMIJ1qaRMAAABjRwEAzOJ3DqNOa43xVQGkxSduiMZvDCth5xpfn0E+98Mg +yRIA/1P4Pm+26aZ0heLHLmTFEgPãUKMit2+Sebjan4/psaYAzjgEaGfc0BIKKwYB +BAGXVQEFAQEHQHRJlEs915TxWvrvCNISbvkQLiTtEo+uPmZb2sBrEIRXAwEIB8J4 +BBgWCgAqBYJoZ9zQIC KEY BLOCK----- diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-d0b2edb49cc29d978a5430b23902345ff7a09a6e b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-d0b2edb49cc29d978a5430b23902345ff7a09a6e new file mode 100644 index 00000000..21ed6480 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-d0b2edb49cc29d978a5430b23902345ff7a09a6e @@ -0,0 +1,8 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Comment: DDB-----BEGIN e@pgpainless.org> + +xjMA EEBD D4D9 CB55 DDF9 136C 48D8 EaGfc0BYJKwYBBAHaRw8BAQdATOdV6wukmqSavJGlnqhkk0fvPzhNnzvp3sv5 +gMq3BzXNHEFsaWNlIDxhbGljZUBwZ3BhaW5sZXNzLm9yZz7CnwQTFgoAUQWCaGfc5A/JN658scYz+ukS4sIS1WMA/RcFkOZF8DNqhYXlm7jDe7II2FF4 E30E 4BB4RLfk +Comment: Alice + +xjME \ No newline at end of file diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-e04f0ac5d8c756e1bd162b2cc9748d97261b64cd b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-e04f0ac5d8c756e1bd162b2cc9748d97261b64cd new file mode 100644 index 00000000..9563c3a2 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-e04f0ac5d8c756e1bd162b2cc9748d97261b64cd @@ -0,0 +1,5 @@ +- + +xjMEaGfc0BYJKwYBBAHaRw8BAQdATOdV6wukmqSavJGlnqhkk0fvPzhNnzvpZXNzLm9yZz7CnwQTFgoAUQWCaGfc +0AkQSNgv9OMOS7QWoQTduu691NnLVd35E2xI2C/04wtKLA5bAQUVCgkACwUWAgMB +AAQLCQgHCwYBBAHaRw8BAQLCQg2C/04w5LtCQMIA \ No newline at end of file diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-e27bd5104a595844730f44df571de7da07951ffb b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-e27bd5104a595844730f44df571de7da07951ffb new file mode 100644 index 00000000..bd97d753 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-e27bd5104a595844730f44df571de7da07951ffb @@ -0,0 +1 @@ +¯ \ No newline at end of file diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-f65d905bc7b32e64073841a61f1d8253eb41eb30 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-f65d905bc7b32e64073841a61f1d8253eb41eb30 new file mode 100644 index 00000000..ff78111d --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-f65d905bc7b32e64073841a61f1d8253eb41eb30 @@ -0,0 +1 @@ +Ô¯,FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF \ No newline at end of file diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-f71e5adcab8e580f85e84ce95f4064524775f5c8 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-f71e5adcab8e580f85e84ce95f4064524775f5c8 new file mode 100644 index 00000000..0d632980 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-f71e5adcab8e580f85e84ce95f4064524775f5c8 @@ -0,0 +1 @@ +ŗ \ No newline at end of file diff --git a/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-fc6fab834e7fe57b374df7f66cfa0f420e91bc24 b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-fc6fab834e7fe57b374df7f66cfa0f420e91bc24 new file mode 100644 index 00000000..40013e49 --- /dev/null +++ b/pgpainless-sop/src/test/resources/org/pgpainless/sop/fuzzing/ParseCertFuzzTestInputs/parseOpenPGPCert/crash-fc6fab834e7fe57b374df7f66cfa0f420e91bc24 @@ -0,0 +1,6 @@ +---PKg> + +xjMEaGfc0BYJKwYBBAHaRw8BAQdATOdV6wukmqSavJGLnqhkk0fvPzaNnzvp3sv5 +gMq3Zz7CowQTFgoAUQWCaGfc +0AkQSNgv9OMOS4QWoQTduu346NnLVd30E2xI2C/04w5LtAKbAQUVCgkICwUWAgMB +AAQQCHCgCScJAQkCCQMIAQKeCQWJCWYBgAKZAQAAqrLgB3AxEcgb \ No newline at end of file diff --git a/version.gradle b/version.gradle index bc2515a4..c50556ac 100644 --- a/version.gradle +++ b/version.gradle @@ -7,7 +7,7 @@ allprojects { shortVersion = '1.7.7' isSnapshot = true javaSourceCompatibility = 11 - bouncyCastleVersion = '1.81' + bouncyCastleVersion = '1.82-SNAPSHOT' bouncyPgVersion = bouncyCastleVersion junitVersion = '5.8.2' logbackVersion = '1.5.13'