diff --git a/pgpainless-core/src/test/java/org/pgpainless/key/parsing/KeyRingReaderTest.java b/pgpainless-core/src/test/java/org/pgpainless/key/parsing/KeyRingReaderTest.java index 6efb9d4f..1a5c5877 100644 --- a/pgpainless-core/src/test/java/org/pgpainless/key/parsing/KeyRingReaderTest.java +++ b/pgpainless-core/src/test/java/org/pgpainless/key/parsing/KeyRingReaderTest.java @@ -17,11 +17,7 @@ package org.pgpainless.key.parsing; import static org.junit.jupiter.api.Assertions.assertEquals; -import java.io.ByteArrayInputStream; -import java.io.ByteArrayOutputStream; -import java.io.File; -import java.io.IOException; -import java.io.InputStream; +import java.io.*; import java.net.URISyntaxException; import java.net.URL; import java.nio.charset.StandardCharsets; @@ -31,11 +27,7 @@ import java.security.NoSuchAlgorithmException; import java.util.ArrayList; import java.util.Collection; -import org.bouncycastle.openpgp.PGPException; -import org.bouncycastle.openpgp.PGPPublicKeyRing; -import org.bouncycastle.openpgp.PGPPublicKeyRingCollection; -import org.bouncycastle.openpgp.PGPSecretKeyRing; -import org.bouncycastle.openpgp.PGPUtil; +import org.bouncycastle.openpgp.*; import org.junit.jupiter.api.Test; import org.pgpainless.PGPainless; import org.pgpainless.implementation.ImplementationFactory; @@ -98,4 +90,118 @@ class KeyRingReaderTest { assertEquals(10, rings.size()); } + /** + * One armored pub key + */ + @Test + void parsePublicKeysSingleArmored() throws IOException, PGPException, URISyntaxException { + assertEquals(1, getPgpPublicKeyRingsFromResource("single_pub_key_armored.asc").size()); + } + + /** + * One binary pub key + */ + @Test + void parsePublicKeysSingleBinary() throws IOException, PGPException, URISyntaxException { + assertEquals(1, getPgpPublicKeyRingsFromResource("single_pub_key_binary.key").size()); + } + + /** + * Many armored pub keys with a single -----BEGIN PGP PUBLIC KEY BLOCK-----...-----END PGP PUBLIC KEY BLOCK----- + */ + @Test + void parsePublicKeysMultiplyArmoredSingleHeader() throws IOException, PGPException, URISyntaxException { + assertEquals(10, getPgpPublicKeyRingsFromResource("10_pub_keys_armored_single_header.asc").size()); + } + + /** + * Many armored pub keys where each has own -----BEGIN PGP PUBLIC KEY BLOCK-----...-----END PGP PUBLIC KEY BLOCK----- + */ + @Test + void parsePublicKeysMultiplyArmoredOwnHeader() throws IOException, PGPException, URISyntaxException { + assertEquals(10, getPgpPublicKeyRingsFromResource("10_pub_keys_armored_own_header.asc").size()); + } + + /** + * Many armored pub keys where each has own -----BEGIN PGP PUBLIC KEY BLOCK-----...-----END PGP PUBLIC KEY BLOCK-----. + * Each of those blocks can have a different count of keys. + */ + @Test + void parsePublicKeysMultiplyArmoredOwnWithSingleHeader() throws IOException, PGPException, URISyntaxException { + assertEquals(10, getPgpPublicKeyRingsFromResource("10_pub_keys_armored_own_with_single_header.asc").size()); + } + + /** + * Many binary pub keys + */ + @Test + void parsePublicKeysMultiplyBinary() throws IOException, PGPException, URISyntaxException { + assertEquals(10, getPgpPublicKeyRingsFromResource("10_pub_keys_binary.key").size()); + } + + /** + * One armored private key + */ + @Test + void parseSecretKeysSingleArmored() throws IOException, PGPException, URISyntaxException { + assertEquals(1, getPgpSecretKeyRingsFromResource("single_prv_key_armored.asc").size()); + } + + /** + * One binary private key + */ + @Test + void parseSecretKeysSingleBinary() throws IOException, PGPException, URISyntaxException { + assertEquals(1, getPgpSecretKeyRingsFromResource("single_prv_key_binary.key").size()); + } + + /** + * Many armored private keys with a single + * -----BEGIN PGP PRIVATE KEY BLOCK-----...-----END PGP PRIVATE KEY BLOCK----- + */ + @Test + void parseSecretKeysMultiplyArmoredSingleHeader() throws IOException, PGPException, URISyntaxException { + assertEquals(10, getPgpSecretKeyRingsFromResource("10_prv_keys_armored_single_header.asc").size()); + } + + /** + * Many armored private keys where each has own -----BEGIN PGP PRIVATE KEY BLOCK-----...-----END PGP PRIVATE KEY BLOCK----- + */ + @Test + void parseSecretKeysMultiplyArmoredOwnHeader() throws IOException, PGPException, URISyntaxException { + assertEquals(10, getPgpSecretKeyRingsFromResource("10_prv_keys_armored_own_header.asc").size()); + } + + /** + * Many armored private keys where each has own -----BEGIN PGP PRIVATE KEY BLOCK-----...-----END PGP PRIVATE KEY BLOCK-----. + * Each of those blocks can have a different count of keys. + */ + @Test + void parseSecretKeysMultiplyArmoredOwnWithSingleHeader() throws IOException, PGPException, URISyntaxException { + assertEquals(10, getPgpSecretKeyRingsFromResource("10_prv_keys_armored_own_with_single_header.asc").size()); + } + + /** + * Many binary private keys + */ + @Test + void parseSecretKeysMultiplyBinary() throws IOException, PGPException, URISyntaxException { + assertEquals(10, getPgpSecretKeyRingsFromResource("10_prv_keys_binary.key").size()); + } + + private InputStream getFileInputStreamFromResource(String fileName) throws IOException, URISyntaxException { + URL resource = getClass().getClassLoader().getResource(fileName); + assert resource != null; + return new FileInputStream(new File(resource.toURI())); + } + + private PGPPublicKeyRingCollection getPgpPublicKeyRingsFromResource(String fileName) + throws IOException, URISyntaxException, PGPException { + return PGPainless.readKeyRing().publicKeyRingCollection(getFileInputStreamFromResource(fileName)); + } + + private PGPSecretKeyRingCollection getPgpSecretKeyRingsFromResource(String fileName) + throws IOException, URISyntaxException, PGPException { + return PGPainless.readKeyRing().secretKeyRingCollection(getFileInputStreamFromResource(fileName)); + } } diff --git a/pgpainless-core/src/test/resources/10_prv_and_pub_keys_armored_own_header.asc b/pgpainless-core/src/test/resources/10_prv_and_pub_keys_armored_own_header.asc new file mode 100644 index 00000000..a38f1632 --- /dev/null +++ b/pgpainless-core/src/test/resources/10_prv_and_pub_keys_armored_own_header.asc @@ -0,0 +1,164 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYHAmeBYJKwYBBAHaRw8BAQdAsNif50e48mXiSJs9FUoKLQiHKxJsT5JeFds/ +ESdURTP+CQMCaj/bYOUdkEBg+1u3+YdXdcVnI/te70pzg5s40p5DitXwpBMkGkRt +/jBmcbkqbEmn5Wo8BnWVXgYCU35Zscfw89T47+P4IeUa62pJQ6h/prQVdXNlcl8x +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBwJngCGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRD2lk9HdieGoxZnAP44TahL9gBHCKJnjk8R/5LNJ8EtrAKBtoDJ +CEvvWaBuqwEA4owkDk2AoldtO4JONniFgfswjlDpSV0yO9Cyd9aWngGciwRgcCZ4 +EgorBgEEAZdVAQUBAQdA+rJSmUkbJUMrD3hFueaGaTeEtrlMvRiSQDIp/O5T7wID +AQgH/gkDAmo/22DlHZBAYJgEr73Cd9TT0y9PGppzR+X0F78qaAcz7ReS5wqtx70/ +xp7w7yFYVUGws7AqP2I/HkoSb4bGD2q4gnymDmqtrwXKYP81+YyIdQQYFgoAHQUC +YHAmeAIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEPaWT0d2J4aj4ZQA/i7Z3oaX +siOIFzTZVQNW9D1Nw3g4UlxDj1noE0fNkvPvAP9kSug5Udegwi74aArKWgn3l2h0 +2CQBed23+9GAz6uPAg== +=jFGg +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYHAmeBYJKwYBBAHaRw8BAQdAY5XsmOmUxofcA2EinpZrIdFs2dCJWEOWI9Yd +cBFi47q0FXVzZXJfMkBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcCZ4AhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQRR0wO+MtSoYF7QD/QABrM/ayZDmVCPoJ +fI3v+kgy3U1d8tmkD0JzRAjMZlgBAPqYJLYToNFTsLjJZzr/Zu6xw2z9jFT3J7Br +6xbwfh4KuDgEYHAmeBIKKwYBBAGXVQEFAQEHQGm3FL37xbPAI7HYqLVNCmVMw529 +qU356R2wGoF+8/kuAwEIB4h1BBgWCgAdBQJgcCZ4AhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQRR0wO+MtSoa/mgD/VocSWWAurRJtrxvJZk3lbZxrH42OKzrs4TKl +rpDcKjsA/0rx4GCJ7feAJlu1SuST0DFf4SDxEG9p6gilN1Sps68H +=61NU +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYHAmeBYJKwYBBAHaRw8BAQdA4Qp8tD4YxuiTTFu5AT+O2NSmSZ4/juDc5VMh +2pSktfe0FXVzZXJfNUBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcCZ4AhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQedgzKs5PmqINUgD+MYXB1GqfwL6VgdJ1 +2mMlcQ5YBubVS3tkpKoWMQ/ocfsA/1dLZtyw+NzKPfutFL0sgIoS1rUJhrMmpyYo +EB7Yn6sGuDgEYHAmeBIKKwYBBAGXVQEFAQEHQKtg/n4I0nxGgeRChldquO1mykQ+ +AgiDl2ZxgYkB4wQSAwEIB4h1BBgWCgAdBQJgcCZ4AhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQedgzKs5PmqJNiAEAkyzCrZvomuH95ClQFXNJIE5URaGKCJpbfAJX +IhpmVTUA/0iQWFI7VRMBfdRYrqx/PON4JpMkeK+7uFJyx68EcAIJ +=0mLx +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYHAmeBYJKwYBBAHaRw8BAQdAkrkM+HLg4j03MCV6wyq0cMuzVsQuFvU/hOJw +ztVKpXH+CQMC/qFAX/Eh8dlgepNQh8TD+TTu1HkcfOtuSfwh6qFbaa39hml5KcgE +tqyCB3kPWYXp0AXg8rdSFhmPJ9wG9f41ivR4H1RnBIQecgCrhUtsCrQVdXNlcl82 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBwJngCGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRBhI2n85j1PP7xbAQCsVVCZzapd6SO8l3GRHRdk5aSaDo/jqFpR +ABmPCUnBSwD/WomL+gZVO3vB9ztwbg7v42ikyqXJkX15Sqy0iwiJEA+ciwRgcCZ4 +EgorBgEEAZdVAQUBAQdAR03t5dr8G4bhFkGxxBS6XAxUQYAfs+JhDEXh7HmpBysD +AQgH/gkDAv6hQF/xIfHZYKXvRhnf6KWBuSt+Nybj5uDAuk5Gx9Ak7evxC+ZP1Uqd +hA9v+xyWFpWBGl43/s7XgfUfRNUDeI7jl8hIHPtP4t024iIhj0CIdQQYFgoAHQUC +YHAmeAIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEGEjafzmPU8/R2QBAJ00KYxF +zd/ZrWzbeXnFpGimxSR7htezEJSqfYLexluhAQCW5zYqyhb+CBwMI6YsxZN07vpD +15ZWAIev2a1SBpyLDg== +=HrqY +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYHAmeBYJKwYBBAHaRw8BAQdA4Qp8tD4YxuiTTFu5AT+O2NSmSZ4/juDc5VMh +2pSktff+CQMCgfI2VjTLYClgP21U2L0JimiQ4AWf57RN5aZjNK2xhpuwKWxeuBJT +MWPkzoZk3q5z05g2Gr13DCKHkPXzTybACWWGYdCv/oIjSgz63Qm+67QVdXNlcl81 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBwJngCGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRB52DMqzk+aog1SAP4xhcHUap/AvpWB0nXaYyVxDlgG5tVLe2Sk +qhYxD+hx+wD/V0tm3LD43Mo9+60UvSyAihLWtQmGsyanJigQHtifqwaciwRgcCZ4 +EgorBgEEAZdVAQUBAQdAq2D+fgjSfEaB5EKGV2q47WbKRD4CCIOXZnGBiQHjBBID +AQgH/gkDAoHyNlY0y2ApYBJBOffD6Mg5ybgJnPfCQCvOUuaicZUcoMX3vAo6CiIW +h+dGtR1/+2/byUG0VLroevWUm5Uedu3XqOua8TKMV3XJ8ch0KwGIdQQYFgoAHQUC +YHAmeAIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEHnYMyrOT5qiTYgBAJMswq2b +6Jrh/eQpUBVzSSBOVEWhigiaW3wCVyIaZlU1AP9IkFhSO1UTAX3UWK6sfzzjeCaT +JHivu7hScsevBHACCQ== +=wJjO +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYHAmeBYJKwYBBAHaRw8BAQdAOxtIECQUKaJ0uZ1sQFXhJIlzdhYFb8UDzjjQ +L21h5Lm0FXVzZXJfNEBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcCZ4AhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQ1GStwyTkF5MhZAEA5SBQvhc4NL/3HIij +GoW66d8CLO57X1fNt6dlU1ADYAcBANxwix6/cIxA4Rj3bJjjJCbOPNhWhRuNIhNo +wzvKDEQLuDgEYHAmeBIKKwYBBAGXVQEFAQEHQPHKDcBu8XdMII3VTPXfQWPdJnxa +20rxxPn3GCuxReNVAwEIB4h1BBgWCgAdBQJgcCZ4AhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQ1GStwyTkF5NPWAD9Gp4TiHXgnF1Dl0H0VOUrRWese+sX/i6IzhPb +Guhz0VoBAK9bA1KjA/GnqFohU5yBcgo5LipS6cwpwJIysxIH5XkH +=T/q3 +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYHAmeBYJKwYBBAHaRw8BAQdAOxtIECQUKaJ0uZ1sQFXhJIlzdhYFb8UDzjjQ +L21h5Ln+CQMCk81xk5grVRxgQzPOtRmpMg8ryMmQDNPbGSEoZ29anofFDodDXkzU +kWRIjs3W+GPHFtU6PXPlVKlsQOidYqCa4bhSPmVpT6oQiGYCCBBxp7QVdXNlcl80 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBwJngCGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRDUZK3DJOQXkyFkAQDlIFC+Fzg0v/cciKMahbrp3wIs7ntfV823 +p2VTUANgBwEA3HCLHr9wjEDhGPdsmOMkJs482FaFG40iE2jDO8oMRAuciwRgcCZ4 +EgorBgEEAZdVAQUBAQdA8coNwG7xd0wgjdVM9d9BY90mfFrbSvHE+fcYK7FF41UD +AQgH/gkDApPNcZOYK1UcYDFWAnVtsipQKZ35nSRI+BT+6mwdxONsjGFTtDkyQWxl +vkrAv4/m6qMzcWnATGRk09l5wiF/zokOangESlDB/ik7z+0RzbGIdQQYFgoAHQUC +YHAmeAIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJENRkrcMk5BeTT1gA/RqeE4h1 +4JxdQ5dB9FTlK0VnrHvrF/4uiM4T2xroc9FaAQCvWwNSowPxp6haIVOcgXIKOS4q +UunMKcCSMrMSB+V5Bw== +=OI8Q +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYHAmeBYJKwYBBAHaRw8BAQdAejN9VgQ7yvGDzOx/Qix0Y9fBAwwPLQiJoYRJ +rQith6O0FXVzZXJfN0BwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcCZ4AhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQgGDD2RYDRyT59AD/euCDdbEWf/q6R9cj +Gf/yL/kh/jFAz+SIYyeUUWtHe74BALtMJvvzyBBNewEytx6SkWxyAsHOZKIU0o/6 ++44PHx8AuDgEYHAmeBIKKwYBBAGXVQEFAQEHQN647yt5WraIku1mRkGlJnuoOYiu +nWE4s0/2SGe4nWRzAwEIB4h1BBgWCgAdBQJgcCZ4AhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQgGDD2RYDRyTiVgD/djxM3dSaq/S60AjvwxF7Ex+5qMlH12h+VvnM +BE0uKKEBAPwZyZuhk7dqZsGZT/YYJSvA6ARFimW8l9FK0yuELEwN +=9S1z +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYHAmeBYJKwYBBAHaRw8BAQdAejN9VgQ7yvGDzOx/Qix0Y9fBAwwPLQiJoYRJ +rQith6P+CQMCugL+L9nbmH9gDIVYDIdQPWee7gYJu15TKdkUa2gfmzW9hE0WPTIa +soPXI+aWfVfeW1KLlPgBuiMKcQW5rN/UbUvkbc0+8znntn2T2cWWErQVdXNlcl83 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBwJngCGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRCAYMPZFgNHJPn0AP964IN1sRZ/+rpH1yMZ//Iv+SH+MUDP5Ihj +J5RRa0d7vgEAu0wm+/PIEE17ATK3HpKRbHICwc5kohTSj/r7jg8fHwCciwRgcCZ4 +EgorBgEEAZdVAQUBAQdA3rjvK3latoiS7WZGQaUme6g5iK6dYTizT/ZIZ7idZHMD +AQgH/gkDAroC/i/Z25h/YED/jFmVTEDKjZtc73ivSzjnEVnzTEsErvxfYI2/oPxO +T0OHAUnV4rjgkwZ/Q/dseUYJoMlr8Ei8JgQU/PeDpfgU+/Lf0hqIdQQYFgoAHQUC +YHAmeAIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEIBgw9kWA0ck4lYA/3Y8TN3U +mqv0utAI78MRexMfuajJR9doflb5zARNLiihAQD8GcmboZO3ambBmU/2GCUrwOgE +RYplvJfRStMrhCxMDQ== +=y9Ga +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYHAmeBYJKwYBBAHaRw8BAQdAagLe6D11vdK6HO8r+XKwPG8sHx8MssIs98/5 +saCpe37+CQMCwO1fo3sfuyxgwjJ3WmHPygN5jU6tZ9aAaQMnRaPr5VI9SIWBPxDz +fGojXfHgVgTsprIO/+icoRt9kJbfiJAgJDh5fK4reL91OuGXcq7i/bQVdXNlcl85 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBwJngCGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRDMhKt7dJuD6zN6AQCSpAuD7B6qjAtLkfwyHHTfAHAp48nR8hUh +1QbMgSl1ywEA7IwyAM9C5GZdX5crVTnQSSG8vv66yA92GdqR1AAL6wuciwRgcCZ4 +EgorBgEEAZdVAQUBAQdAG6nAReqXWIshjg7Q9iNAn/vdSHaG+GuVDuJe5Dix4CYD +AQgH/gkDAsDtX6N7H7ssYK0HRK1Tn5fXxATVT3fDggF+6hN6it6UPWaioz4/eRwZ +6T09hS2NQ9cdkX7CP/0lwT+b1ZRuJf7L6ocrKbqw7qRFKwc6MZaIdQQYFgoAHQUC +YHAmeAIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEMyEq3t0m4PryFkA/jZ7HuJK +1IN8KsJjTdB5jHZ/mwDx83+Ur8BQEHRjPvglAQDm4zNhmRQvPBploX9FrEwbRVk3 +qH98S9dQSRizw3hxAg== +=g+Is +-----END PGP PRIVATE KEY BLOCK----- + diff --git a/pgpainless-core/src/test/resources/10_prv_and_pub_keys_armored_own_with_single_header.asc b/pgpainless-core/src/test/resources/10_prv_and_pub_keys_armored_own_with_single_header.asc new file mode 100644 index 00000000..53414a55 --- /dev/null +++ b/pgpainless-core/src/test/resources/10_prv_and_pub_keys_armored_own_with_single_header.asc @@ -0,0 +1,124 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYHAlORYJKwYBBAHaRw8BAQdAmzzc3qieoqkfAIimRaqzK8UNJGUamntMPKYU +KK6p9Ju0FXVzZXJfNkBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcCU5AhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQMW3iTVXCbVZzwwEAyGfwbiIuTmg+Od0E +yJ8jF7n9tvaS5L6fxDT0xq8SYmkA/1ry4une20t9Yz/qY0N5++gwYbSsmCrkX0YK +lAUMl2sMuDgEYHAlORIKKwYBBAGXVQEFAQEHQG/MiY1jVyuZmhhkKJYwZv/EIYsy +JMzdBakWVodt7QQFAwEIB4h1BBgWCgAdBQJgcCU5AhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQMW3iTVXCbVbB5QEA88B5VSDZQ91spIYFahhFncdUOs6S/ht2t+Am +sohefL0BAPO8UZ69BMcvHXXlZYZwTvtHZ+ejpXPKlo9YrqVn83cPmDMEYHAlORYJ +KwYBBAHaRw8BAQdAHMIr4TVlTYJkFGvGj6zX7iXad9FDMUy77yje0F12saO0FXVz +ZXJfN0BwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcCU5AhsDBRYCAwEABAsJCAcF +FQoJCAsCHgECGQEACgkQxwYo2lfMj0zm7wEAqF6X7YGUEDfCRmUBd7e0iLWwV0TM +mVSbjedEy521JicBALXC/KEzhdzh/S0HO/qTUP8FX94fFXIhj5i1WcsWBksIuDgE +YHAlORIKKwYBBAGXVQEFAQEHQB1nQpqwWK0qsxgBCufPDeIT04itixi68t5YmIL6 +uyFxAwEIB4h1BBgWCgAdBQJgcCU5AhsMBRYCAwEABAsJCAcFFQoJCAsCHgEACgkQ +xwYo2lfMj0wWOwEAiMs0lXlOckhMCiVIGoEpMiGwg0GMlW4QZAn7DoZQ+noA/18A +6QJy2oqChCI/8IPLsI7L7jlEtcueQxP2xZJMvBUH +=bYjU +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYHAlORYJKwYBBAHaRw8BAQdAmzzc3qieoqkfAIimRaqzK8UNJGUamntMPKYU +KK6p9Jv+CQMC4pwxGgHepUFgOw9r6aayb6YIg2DULWkZvh7qjPaoY+nragAEDRtj +0kxffLstFFjuBaaK138X2GwHnqhzma7Pvm6jogNhwT0sMUwmtQAsFLQVdXNlcl82 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBwJTkCGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRAxbeJNVcJtVnPDAQDIZ/BuIi5OaD453QTInyMXuf229pLkvp/E +NPTGrxJiaQD/WvLi6d7bS31jP+pjQ3n76DBhtKyYKuRfRgqUBQyXawyciwRgcCU5 +EgorBgEEAZdVAQUBAQdAb8yJjWNXK5maGGQoljBm/8QhizIkzN0FqRZWh23tBAUD +AQgH/gkDAuKcMRoB3qVBYPiBOnuPOpwnsCc2+5AV5kgGSueifKXvhi/ij5Oq1Oqh +J3/0cHqyH4QIchkjk7tghspr5EnaTiMj25sA0U3SPAVoVyQhTpSIdQQYFgoAHQUC +YHAlOQIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEDFt4k1Vwm1WweUBAPPAeVUg +2UPdbKSGBWoYRZ3HVDrOkv4bdrfgJrKIXny9AQDzvFGevQTHLx115WWGcE77R2fn +o6VzypaPWK6lZ/N3D5SGBGBwJTkWCSsGAQQB2kcPAQEHQBzCK+E1ZU2CZBRrxo+s +1+4l2nfRQzFMu+8o3tBddrGj/gkDApjI9qWtwifCYIuMnxwgouxEvkgT5CExEq4s +40sNo39NfYVVmiMz70U91SZn/VJO+uk9YLr8B7NWnMiQZF9oPMMGICJHMFpzcXjx +Nk1Ez4K0FXVzZXJfN0BwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcCU5AhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQxwYo2lfMj0zm7wEAqF6X7YGUEDfCRmUB +d7e0iLWwV0TMmVSbjedEy521JicBALXC/KEzhdzh/S0HO/qTUP8FX94fFXIhj5i1 +WcsWBksInIsEYHAlORIKKwYBBAGXVQEFAQEHQB1nQpqwWK0qsxgBCufPDeIT04it +ixi68t5YmIL6uyFxAwEIB/4JAwKYyPalrcInwmBfBkYOOF2YeSW1r+h9zpaSkpcU +PK8qdcxF9o9AnXZelAZ/N7N0dY/NyBurkVGNMosoqz8Sdy09kl0buBmBAqWbilGZ +M3vviHUEGBYKAB0FAmBwJTkCGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRDHBija +V8yPTBY7AQCIyzSVeU5ySEwKJUgagSkyIbCDQYyVbhBkCfsOhlD6egD/XwDpAnLa +ioKEIj/wg8uwjsvuOUS1y55DE/bFkky8FQc= +=Wxwr +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYHAlORYJKwYBBAHaRw8BAQdARz3m691XOZQIInRj8cmWQlYHldFRifZdTYFI +VokwBhu0FXVzZXJfMEBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcCU5AhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQmH4XtPAVoPbD6gEA1KhhPa002JmQPD2u +vOXru3udR+lVfRMkq0tyy8/6bbcBAKyxsN6eiQq9IrUmM9BapF3zkViAgS59OXN+ +hKICAeMEuDgEYHAlORIKKwYBBAGXVQEFAQEHQO26cZ2EmBII8020nQDuIRB8A6BY +70VMPhW0nL/+R5BTAwEIB4h1BBgWCgAdBQJgcCU5AhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQmH4XtPAVoPbYNwEA3pD/RRqS92/AqB2UdVWZv5uJXDZ3zaPg7Bl2 +6zX6wGgA/2HBMc9FJo3xODbmfH28x8VBX7qQ5bQz7fnLoRfnl+wKmDMEYHAlORYJ +KwYBBAHaRw8BAQdA5sNG1f6Zl61ktBMz76XcpksjsAbnQA2sm/WMtLUaPDy0FXVz +ZXJfMUBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcCU5AhsDBRYCAwEABAsJCAcF +FQoJCAsCHgECGQEACgkQRaaWk44wdeRSdgEAq/OwTLxeoIAWZchNJuy+5sT/HNI7 +IWK3heawdd526mgA/0qJ2j48434V1SevzzhkfZN7HVv20inQ2FtEM5+dZeMPuDgE +YHAlORIKKwYBBAGXVQEFAQEHQK9rfPruw1nK++JpWULtWG7gkEzgyzsPs9nsPazK +vXsyAwEIB4h1BBgWCgAdBQJgcCU5AhsMBRYCAwEABAsJCAcFFQoJCAsCHgEACgkQ +RaaWk44wdeTYuQD+OlL+y1Q23q5kDU4cZiVT/ziGI+n17vUwF84QbX5rP+gA/isq +hUnVq0pr1u5Uy6OLYtLGB2era9U/k1H8Gjyk5ZoA +=w4U3 +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYHAlORYJKwYBBAHaRw8BAQdA1xgkfvxW4Xmke753Ie0J3ajcSnPRNOabkGQU +YLfap2j+CQMCHs3KAF0DRqNgiHd2zxIjsRu+hoaW5Mg65MOtuymosz1xLIvKGFiZ +G2bQux74/gPs4zQewmvE0TaWSXdPQGAp0ILNKR0Xhj7E3ffRZ106B7QVdXNlcl80 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBwJTkCGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRBMARVLCBmD478fAQC737l9ysp+Z6xvbzBbphWN2+yD3rvCIKrT +MtrVACMW8AEA1P7zy84b6fyQ4VtP1levGSXTAB6kfK8wi7CGP4YZCACciwRgcCU5 +EgorBgEEAZdVAQUBAQdAVf4ZPjYBeQ3EcpRzaC2uFA1/vFctpyxzjtK4q9DSjxoD +AQgH/gkDAh7NygBdA0ajYLfNwgVFld1vEyrEwrmjzJjZzDlsQMf1ACJyWWQGhdAI +otdl/6PmzyXRsUejHBui5FcjEUNTQcQq5kvMpZz2swt+h3ejq/qIdQQYFgoAHQUC +YHAlOQIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEEwBFUsIGYPjv3IBANecnKSj +Z9U/YKvnvkqa8l1dMyA0Kbj8SQCHcl45k0ScAQDzhKz7wWQvlz8/yB6SrOkX4xjb +lS74s9TQm5bs2LxLB5SGBGBwJTkWCSsGAQQB2kcPAQEHQM2pisjJOE317jkdbxJL +kvOVw0uAni3u7g4Xq5ko4BF4/gkDAt8phU7BaXfrYKbaRL5wj0Bdx7VJAplie2Kd +GwEOAqbWdgnhYmSE5yR8Mc5C2XJpPovJWSIbntYJABDuzmzvQQqGP70xr6jJAUp3 +keIDh/m0FXVzZXJfNUBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcCU5AhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQQU2XrC/eS/FKqQD/YLyZ6BvOC2D3psKy +28R5uuMGmeeZe+qX2dd5CfPzpFMBAKW7h/bquYUw85Wb+bDxGSHSh664o9vyW13o +76W+IVULnIsEYHAlORIKKwYBBAGXVQEFAQEHQAj3gJD6yUdLgaQA+5D1/OsPdQtV +zWOpjZkHG8NK2eILAwEIB/4JAwLfKYVOwWl362BWHEidESWr4YxAG60R+UMclxAo +7usJmr8Acy6yDSoEYT31kg11v6Mj750Tr18pH8aZ16HL9bIL6/J/Mp9sm82SqE6c +cdMDiHUEGBYKAB0FAmBwJTkCGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRBBTZes +L95L8aAxAQDfbtr2fINdmCWi9LupYTW8Q38d9qP6RbqHoxG9y4lwTwEA7IeRqpmh +WB+BqZ7jNgJUfTr2WIzxzEJJUZiJrlr5wgQ= +=Kh8y +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYHAlORYJKwYBBAHaRw8BAQdAsvxDaHyPdl7UgJerbcGCDvV+7APBmHKwc2gU +bFzLcgi0FXVzZXJfMkBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcCU5AhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQ57QVS3bkNNL1BgEAgAFTAC6w+Iztj+xZ +igesF0rtfoANunGRZnaRaq6XygoBAIOzF4V8xWXENxaL9531CWSxofYLQLHPE+To +sG+M8foAuDgEYHAlORIKKwYBBAGXVQEFAQEHQKTn9PjGPoeU4MwiKbBcCsvkPo1S +ByaTmgDgGHumORxIAwEIB4h1BBgWCgAdBQJgcCU5AhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQ57QVS3bkNNL7xQEA4jIFVZ5entpOtz8OxQNfQdE4sfZLmCLNmhAV +mdGooO0A/jSM0EgctNPRyyjJFeY6PkdWYJkzyNrabIj89SlSVkgAmDMEYHAlORYJ +KwYBBAHaRw8BAQdA613vihbWPqkUEQv7SYvRFZi6uoWI7qqRmgHgTszyTp+0FXVz +ZXJfM0BwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcCU5AhsDBRYCAwEABAsJCAcF +FQoJCAsCHgECGQEACgkQ4AyrMtIbH1EutwEAxq9X8A7I5uFY3/ZG5KoS0/9HlfuJ +UcoNkDhApI4yF1EA/jAWNWSm3QaxqMux4vK9kTnlkdCnrcm7VijPylBZ0dcLuDgE +YHAlORIKKwYBBAGXVQEFAQEHQG3lgQbIh9opiiMP8xSHu2H+KN2ir6FkMQlJeulD +q00PAwEIB4h1BBgWCgAdBQJgcCU5AhsMBRYCAwEABAsJCAcFFQoJCAsCHgEACgkQ +4AyrMtIbH1H7BQEA6IhPybD5Zp9TPyLyRpmhINv0wW9BFOsD6zEagapl5VABAOO4 +0oMmO25amIOvw4zoOJDypIQ+wNp+62iNde0pukwP +=8kgY +-----END PGP PUBLIC KEY BLOCK----- + diff --git a/pgpainless-core/src/test/resources/10_prv_and_pub_keys_binary.key b/pgpainless-core/src/test/resources/10_prv_and_pub_keys_binary.key new file mode 100644 index 00000000..c0fd31b7 Binary files /dev/null and b/pgpainless-core/src/test/resources/10_prv_and_pub_keys_binary.key differ diff --git a/pgpainless-core/src/test/resources/10_prv_keys_armored_own_header.asc b/pgpainless-core/src/test/resources/10_prv_keys_armored_own_header.asc new file mode 100644 index 00000000..f4397025 --- /dev/null +++ b/pgpainless-core/src/test/resources/10_prv_keys_armored_own_header.asc @@ -0,0 +1,180 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYG/9ohYJKwYBBAHaRw8BAQdA4GSi/WpR575SzzySN3vEE0bNFDtVdlZDyLId +dRRqSNL+CQMC2om343xoVbFgJrGK0iRCo8l/cdn/kp7BvnH6Sf934U0QG+Y5i7Bk +U2G4q+D2Bsu9rNAQrzRG5omxkdwVqXVA9o3Gye2+MGyhrVrrfYjDRbQVdXNlcl8w +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBv/aICGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRDeWYr5D0IzU5CyAQCA/63L1KxQNJHd/HLY35PluccP9Mc+b+Ry +2LyS8oCbDwD+JPNKpGKmy+EQ20kVYjFEn+Tp/YoNqSXK+/qHw9+DNgKciwRgb/2i +EgorBgEEAZdVAQUBAQdAMswLjPkA+JjTdVGWR5Pkm5o9zyPSSn9wUlqAArIwqw8D +AQgH/gkDAtqJt+N8aFWxYJL6ozOoLLUY5AzY1qANx2PYeVmYboDcdl6kvLJX6zN2 +0GC4VxaYuKTqAt76iKJd5AWtLbC2prOd8vbUwoPY5bBWBn5OEzaIdQQYFgoAHQUC +YG/9ogIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEN5ZivkPQjNTA+8BAJ33WP+K +NcgceHLP3hGhqyNsQHPGlc8ybjTIGz0T3kvvAQDtTBXMCs6F3eE+IloLcff/I01a +KC6KN95EO/evY/AhDQ== +=k00S +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYG/9ohYJKwYBBAHaRw8BAQdACWsgtXPmLLlSPwxaFQog9mQFy6ZZbHvj6iQE +/TMXLDz+CQMCaBkUcIUTonVg8L+XHQMGhNJwU03/ShAKXZtMIK+oES9jA5G0IQDs +jMsbFkhnSaB/0tkJSE5Bbp2CudIv27upKslJ6OU5so9Pz9Ce7NkwH7QVdXNlcl8x +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBv/aICGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRBO81GnJsv2j8uOAPwK30iieFihXTo0bkv35CigS8QoQL40Hek8 +spF4nq/R7gD/YrYTsc9EnT4yA6UjeMa+sqRQ3SBPIWoAZ1EW97DftAiciwRgb/2i +EgorBgEEAZdVAQUBAQdAagGqM+NlDmH7u+cdKVKmupZpuXDssUMNP0xC7dwGRF0D +AQgH/gkDAmgZFHCFE6J1YNZV4oqkpjp7Fz+gzMT+RoULQ3auQFrbRCFS74WJTRJN +/lKjIDRDnYyQaeBzQUMUwJ3Yh2aKB2IKKO7rmb//7v6Wfp8pMRyIdQQYFgoAHQUC +YG/9ogIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEE7zUacmy/aPz3EA/0xVVG/y +w6bHGdMZQapxBQW0CCFkbvjyodyUE2L6ruItAQC+X6eEe1KMmkHFSUkCac2+Kzy7 +WFx3e05V/OneZoL8CA== +=ak1Q +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYG/9ohYJKwYBBAHaRw8BAQdAr3O4Z2t/kjwlpMAZ1HnWpNI5q454f7/v7YtU +0QcWbF3+CQMCfHLNpTJoDABgmFUY+tl1rj+u1u/d2wzE455IQAwZV6z2PNJpDOcc +4kUSvWffJuJL9Tu1OxYEfFdwKEZ5Q5UxH8L1Yk90Qwp294hhbjtD8rQVdXNlcl8y +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBv/aICGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRDqN8+/UObbwnZUAP4wJhobGP715qn7eOI4zw/nMVr0ZFL6E2qe +UMJkeSv08gEAxJMsqSCfDC3yzyl8mabbbINB2KhOb08ZeBoTbdf96QaciwRgb/2i +EgorBgEEAZdVAQUBAQdArreoYpUkm/aNL/lis5JiMimf9XtKJtNZInKqeTFP9noD +AQgH/gkDAnxyzaUyaAwAYODmo4xzgUOPEuhM65LhhEiHr7lizkCKbhCZnIaAA+qh +S+Ivl5It3amGA5WA+NGMBbm0gCjseHf59wGwdunMzbCxPcAwJSmIdQQYFgoAHQUC +YG/9ogIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEOo3z79Q5tvCVr4BAKpjEu6L +oBdoSZR2uXshYGzboZS0Qj5380bnXvUkJwWiAQDPmgbgyqio0kkHFJwsc26Q+YDi +9dYh/fiJ0cXmewobDQ== +=d8iO +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYG/9ohYJKwYBBAHaRw8BAQdAsXtdS9mXjUhK/4E0k7lePNImlIxYWtiGDGwb +gC628tj+CQMCQ9M6IBhqlWBgOz5X1MQ+Pkk6qDCgEBZz1vaipfcU7G67dqan6iwe +6BNAwQjovB0w4V2vbUQo4xNse9cvxOlEn4ZnM3yIHU4LWX0OwStjzLQVdXNlcl8z +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBv/aICGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRDBXoxpkc/2gbHhAQD2rx7b2y1/qwqs7mSutiaW0KIB9s3ICmgT +bmqAlUiG5QEA1UJfkEyjlVXOu0ggMkQ/a0hCiOqi6JQi+xijhsmlFAOciwRgb/2i +EgorBgEEAZdVAQUBAQdAn1bT1e9aBDsvsOedqn2iVtJ1tIhZOid//DlDPG9yImYD +AQgH/gkDAkPTOiAYapVgYHYrWcQzkLTMvGh71Li8uB3w7nug+VwoVwb3fZ1xghl+ +dpzMxg9CtBF8oLL6uVGl77jxmNHrKIj1Op7dcn4AJzmrXkkU8NmIdQQYFgoAHQUC +YG/9ogIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEMFejGmRz/aBVNkA/1v4giFA +pjDJjh6XmoqXn3LuM3Y38XFVF3Qquq0qLd73AQC8OsCMlZ76CGycFdf8EZHqnERm +rSHA/LO6dmtx8qWgDA== +=pGjY +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYG/9ohYJKwYBBAHaRw8BAQdArKS8wI+1pwL4wbXVLe04GE6ikSl+GFgTW6aY +uPGYa73+CQMCbIK9+lI2PO1gkoUY6ULcoMUD2ottMGCsqpUQJaU0QS0G0W13QPw0 +ETHetM6OPRo7jLcuQ+yPPvQnGR551xqQg87PUXgbuoVe6Oy175AdxbQVdXNlcl80 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBv/aICGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRBDNYkY+5m3fxTbAQD9Xif0xOIqheQ8xVEjRe/qNjTD7KpkDa6f +YnJZ936UKgEAnrbzJ3A1fWjIrrip4lgC7sIJhKvnZ1NnZpdfZnEOYwCciwRgb/2i +EgorBgEEAZdVAQUBAQdAIgI3lTSC5IZB3Q29K1ahp6viQf8CPTAiHqecsmb/AxkD +AQgH/gkDAmyCvfpSNjztYEwi7Rw1mV8zBGyR9JQTrSVMVKLYjE2d4R2+QjU1MlHf +Vq07oUyWReTMoTvo2OJPA84spodMkAGhNBZ9phXQ3FAe4lqzLF6IdQQYFgoAHQUC +YG/9ogIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEEM1iRj7mbd/MRcBAPGUmWWP +i4UXaw3afQSw+n+URUN7rmQ6z9uLg1uVKjc4AQD08/stcT8Krzj9w1n0E8AxEODo +GssQO0ApF51925QoDQ== +=GEY7 +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYG/9ohYJKwYBBAHaRw8BAQdABq0Y/MyHEm/9kkYKlbLn/6nQLaNZRveQ7rEI +05Q21eT+CQMCL8CHKPcZoZxgSwCazEg+yLsEa4erqzvJSfmx81Y2i+AL+h8fj4A4 +8G6evo/8cTAb7PqnpTxB+KIGldOr2I8ULiF8pyJ2xpGpUHQdP7NhorQVdXNlcl81 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBv/aICGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRCiHTS97wdnsj62APwMQqYDZ1tW9/HHKwLaBR8kFqCM/naaXi4t +xCinunnYpQD+PYXHr+MM44piBWbrGUJxXXLG5BFs9+QVc9flfB+mogaciwRgb/2i +EgorBgEEAZdVAQUBAQdAbBJA9dn3Ldd2YJ7YryX3mF337aigBbskjItVMoh28kgD +AQgH/gkDAi/Ahyj3GaGcYNXkPeV55OL+YQbtscx9A1zib3juvk7C7NJAZe2lnZRj +qrTPQ02lf1SBzE4YBozyzpz3NheB64eiJEp+qpflWdNhiFShdeiIdQQYFgoAHQUC +YG/9ogIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEKIdNL3vB2eyU3gBAJLwnSkm +Wz2cxmsPN2/wOYI1USTOGpTTnvpqyAGK9/5jAQDdVuM86L5rqqa2WYUDM058Ou3Z +60SfoRKODtSWPq4cAA== +=DvKK +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYG/9ohYJKwYBBAHaRw8BAQdAjd96ADby174AIHbcBjg6QwMFckfZ/zuIo7CS +DM8RgOj+CQMCJb5Hp3tGqz5gw6Y9Y5diMzvfb+BXJraXKK7yRfF1Eyn308IKlX6g +7vRf9pji/9S4KK7b2gHYVEqZ6V57Ossr5dArSSbggSaAaMtJ8wTWO7QVdXNlcl82 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBv/aICGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRDPc12bs7SojdEsAP9wozrHtR1Pv6cm0rRveR4Mxdw1k86H109C +xKhT94BhSgD+LZ7kttICWovpsqsquZ34uA6ILYho7xWNJunICzyw+QaciwRgb/2i +EgorBgEEAZdVAQUBAQdAOOAIwr9ndMW1KbcmJwh3k4d5DJHEtPyZHjQqbjTNpk4D +AQgH/gkDAiW+R6d7Rqs+YL7rPPWFcHvRlvpiiUa7rIVAs6Oj7B21l24kDvWMHU8B +sv851/EBa944PrBnO1EsyP7Bu2duhpwRpojYJMt5q2Pd/YqeQ7SIdQQYFgoAHQUC +YG/9ogIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEM9zXZuztKiNkIgBAJ3Hg47k +usUaHmaBoBrdDvpPgq31Mf5JU+JPTD+0gJTPAP47bmWS8hRUOxjCS9/qLnnRs03S +7mVHLqP9B/evRED5Aw== +=/WHV +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYG/9ohYJKwYBBAHaRw8BAQdAZ+mgtwLe5nKLUXH7me6OqhEcoiadRQaR/rJp +DuQA30T+CQMCIK+fcYuymXhg1rk8+W3CLFaC8/R481FTiygBIFHWsSOfb3DRL7/Q +7K6Xo+wdW932HyNpMv6kfwEBB3JFcCd2LhWNdMzaj573eb1ihoxDbLQVdXNlcl83 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBv/aICGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRCkpoyBocd+H6aVAP9UGW5ilMenFY3RmO1WDDNMR1z1VFaWPnh6 +KaRE8oXRdwD+K42bkINiPu7bOTz8DcDea1i8enV0nzaLL6B4EreIAASciwRgb/2i +EgorBgEEAZdVAQUBAQdAZ/ZEWf8Qr4SSWokGrjasRrSs/RnpIJuhZJFRqh6krhUD +AQgH/gkDAiCvn3GLspl4YD8QSs2EQHDE/dLzIZgjYLevMWzPpKOOJkOp39uUE8uO +ezXfC4HS87RIH+MiJDikHM16YVItT1E0T7x5RC5RqrsicpmSYNiIdQQYFgoAHQUC +YG/9ogIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEKSmjIGhx34fJ94BAJiiy+0P +DmheGsOTdpnxE/nkhCfU7ZNir+svlPzPmWNQAQCRLLczSl08Zf87i7QSD/r+z9QC +6PdPUwPATy4Yhf6ZBw== +=FGbq +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYG/9ohYJKwYBBAHaRw8BAQdAMhlHJtHMexKDchAwAAjnd4mgtEx0vFi+FVgy +ITWSVUb+CQMCd3cq2MsZaDZgmcZby4p0b+eqwb2gkXHMG/NKpmqZoOwcmz9JdP7x ++QcUTxZCy0B6tQYRThG/UR1cVTvcitOY2oo52COUSWIF1jCHboPbNrQVdXNlcl84 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBv/aICGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRDBc4m56W9gRNqOAQDwizL6h4ykIVTfgY82a/JcHeUwxZ+2V9YR +xMTLMqJOHgD+OkbZ/IC8tYouHVSLqac+LctTiYFg55AhH6fxJc5+jQiciwRgb/2i +EgorBgEEAZdVAQUBAQdAEvV4jZ9dn5Vak7C4tH9r1bO1eUNqlDWUzsQ+5pKDGFcD +AQgH/gkDAnd3KtjLGWg2YIATTyqJxNsmI2NVmyz2FdhQffQXL2fKsqy0lFfFanvB +9ARfd30Cnrz6o3c4mE24uDQhoE50xScaQC1lC56JGNUlmbejSLCIdQQYFgoAHQUC +YG/9ogIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEMFzibnpb2BEJlwBAL9u082o +oE2IWIkTu8nogv6QsQxAGfDaTPicl0uvXX1DAP43Xbixctj4lXTHXMSn0sfXkzmH +ATBskVKwTKVWdt3+BQ== +=Ux25 +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYG/9ohYJKwYBBAHaRw8BAQdAWjePtyGpev0l+Poff0ryKsNeigy/PxqfUpvN +nS5x6KT+CQMCclkWT35pUhFgkEpKMiFJPmB2l7lJZ+WO80guxXVd1AF0z5X+/4yK +Ze2Sjg9Xayx/yyxWMWwYa0PbowVRXsyUth4hO8Su8CQCRvA9KMankrQVdXNlcl85 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBv/aICGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRAJbWvSx2zK66YKAP4xzYfkO+7KaZz9bE4Twa+m4TnNxICxf8vN +pocPQ9s90gEA8dG+gLSFvC1tnfI5pFnG9Mo9gw97dC4tHWnm26RV4AeciwRgb/2i +EgorBgEEAZdVAQUBAQdA4hVm3LxseoNc5QsZ7KIUk6Hw+y6uIDvc3kL+kc4Z9BUD +AQgH/gkDAnJZFk9+aVIRYN1grSfjhzLMHsv5eIj2hzDcYmznrYkbv/O9b42l3DSR +iZ5Hasef20+w0VGczEdoWniJ76yCii0R15hw+nZRX/f+jiCq7fGIdQQYFgoAHQUC +YG/9ogIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEAlta9LHbMrrlUUA/07EHNtS +oPnfUupWCMKXM3PN/Sw6Zn5Zja3DRuFxrSXIAQCOXPE4EOucuOmMCi2JcfkVmpfE +ReZjtUMWEusItbv4Cg== +=I9MB +-----END PGP PRIVATE KEY BLOCK----- + diff --git a/pgpainless-core/src/test/resources/10_prv_keys_armored_own_with_single_header.asc b/pgpainless-core/src/test/resources/10_prv_keys_armored_own_with_single_header.asc new file mode 100644 index 00000000..1a4c3cf4 --- /dev/null +++ b/pgpainless-core/src/test/resources/10_prv_keys_armored_own_with_single_header.asc @@ -0,0 +1,145 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYHADnhYJKwYBBAHaRw8BAQdAWcIm6G/NbuOT//I4oDX5SQy7orTHZwRlU2ZU +aUhbx5T+CQMC4NcOqGcGNGZgf5nEtCzlmgqZcNjV+7ahVIb5pBHKLMrO4iY9oy0J +xmNKe2qTA3ImOwBdxdyF8DK0Lh4vgYBJYD9GIFQ+LF2I1sV4sP9zELQVdXNlcl8w +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBwA54CGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRCkXnjl6TChQmrwAP0aTybkPv3Xk0aygdIco+Y+QrxzQJsxbLrP +5P7UDpzt5gEAvVs9+WC7tuCbvW4zWI8x1nuc40oDz99sRPdU8G/6sgeciwRgcAOe +EgorBgEEAZdVAQUBAQdA67dU69BMA33rwBL0iis7D35NK2eJPLt2zO5sYuODrWAD +AQgH/gkDAuDXDqhnBjRmYCSHTWqHR9LXj5iCJg9KRq8aj10SBC2LfugdSOsYltTd +NOCqqICK3KPG41x1Qo7hEncymeTXy5QBK2l0JfbQvdbHp0S9tNaIdQQYFgoAHQUC +YHADngIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEKReeOXpMKFC92gA/ilRIvAv +VAztblN3f1KAxt4INeiDFQF82CWrPnI5UtwqAQCzFqv3zYgmNGZ1n9FRFAoFiyot ++35pIeVrg2N60sNlA5SGBGBwA54WCSsGAQQB2kcPAQEHQEBz3P2BiaPwgTh2VaAE +787KC+DzlGsHXIMxEumkxOgk/gkDAonJROggmVvOYHXeLHZTOruX3vs4Vo2x818O +NZ1wYqS4mB42bHbnb1lnD6wm/i1lO/HfxFrR6bOamlOt6lehlPiXmJ7SlcnTu1Au +kItGkVa0FXVzZXJfMUBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcAOeAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQqdsg7xM75EYaBQEAjnMI5WbVYTTb48zh +K+iCh0BzZGrkwDbCMATObyh6+ksBAITap4eQCsragxmxZ1zmp6BR3QnFIUGbOtpF +G+l0yqAAnIsEYHADnhIKKwYBBAGXVQEFAQEHQKXKEh3R9kLnQ+l7zAc8pnhe6FjG +QyOj91FMkuOlF34gAwEIB/4JAwKJyUToIJlbzmBv6IqYUS1nIq/Vg/Ng4ky1kvPk +lnWeDI3SlpxgsbLnlrgWZdAjnl9gfXT1iBKmD3X/BrY3k/ALldq3BIsTwA603hbe +A1uOiHUEGBYKAB0FAmBwA54CGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRCp2yDv +EzvkRnpcAQD74ilPhPNHxUeg0ha1XXhFD7eBcq3zWx/btKmlK7HawgEA+xVOVM5Y +2L4yWyLjdcdqYx0mawZ36opMFps6IylZsQ8= +=xeDP +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYHADnhYJKwYBBAHaRw8BAQdAxIvSZayovTImA/bTF5CvP3MIJvTYH4/I0c2z +qpp+yoz+CQMCFHyPoo7FqpFgJxnRiPNEFdUfTEicgQZx188dQt+yXVJrJhmKrPVj +0Dq2oi9S9TD1wLqXEW60DjlevSXlvajAYCB4f8z2HNZmWl7rayZ8yLQVdXNlcl8y +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBwA54CGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRAk8Ks5Sm9N9JXeAQCbjSmvl44CPEJu8j2YWmqOhggb6M1hHIkf +uU6HUt7uoQEAhswQEpp9V+Cgb/L4xLUiXLsAJ4y278BqxAq+vTPycw2ciwRgcAOe +EgorBgEEAZdVAQUBAQdA082Xxl2YxbU0jcGitjmJIa+nIwF53aotlOczkMmWRx4D +AQgH/gkDAhR8j6KOxaqRYKAO+zX9zP23/6cHOJVb05zMkLEpYAaM5nxkeL6Hh4jK +PYSPPAR56dOz1jGb5d6MoaGQrodsXunV+MOmtidaPA6wtuTkCbOIdQQYFgoAHQUC +YHADngIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJECTwqzlKb030JkgBALfWll/3 +22S1wksxd5C0RTHWZW3rfoCD9IMua+9dwdfJAQD2Z07x7KWtHvJnihaiCnehKPTN +m1dcNAhpz8sTXrX4DJSGBGBwA54WCSsGAQQB2kcPAQEHQFG0Yg8PMQWkenIwu4tz +P2hHq2gzc5WuM0Vuj4iM2p4I/gkDAgfZ9/x4ooTWYB/fqynW3gJ24aLdaPeZgOC3 +JCFEjsYHv3ZGnln6n+w9VPB9AvZetAbGvr62EKjuQinVyW1WHu8XC9hrZj5MRIWN +atbKyRS0FXVzZXJfM0BwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcAOeAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQUoIIo7I8AwwQMAEAmJ+T2Jkh6BpgFJB/ +Ro/MZxywVUemgyuSiKlaaN9V7jEA/j9BGrc7hmOIP6UOznyUpiO0m3ai53Ire3NF +iPbu2+kInIsEYHADnhIKKwYBBAGXVQEFAQEHQHBb7p9XieiUo6GeRTHWcac5fsV/ +oM9eO1IyOMmebgUiAwEIB/4JAwIH2ff8eKKE1mAKziI3zcEqkOl1RoLO2xzHGTAO +JcebyS+n21qR6Yo8o4ivexbHU4o52O194FlD0qow5wMIaRf8TsjbsSDXNG4NVwNq +z5qFiHUEGBYKAB0FAmBwA54CGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRBSggij +sjwDDNyjAP9l5gR+W5q+02R1iHWMmH5V1DVfqpXz4SmNaG8JMXUYMAD9FAk4zeLV +l9Ai0UY74C8UxUSwqPDLHCnHDBrIs7TW2wo= +=PQG4 +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYHADnhYJKwYBBAHaRw8BAQdAPzOxVxzG/+YNvxce0sYRYwBGyyILmpiYBSes +72wFl8n+CQMCuN+mf1yT1dVg51xP3tYA0zjZaObZg6UNfmofCgqnMVPQryEO8cAD +6NRDB31nJLJNto5a1AVOlszEAEi0fa053wAU8A4xOid8iJwwMOYEtrQVdXNlcl80 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBwA54CGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRA6710zORIuQ6S8AP97ComsbI18eWwQKrmhEZ1/+Ru1NYy28N3u +jSoZyWHWCwEAm2Se9BhdyPg+Yc4Qmfpv7SCR3SpGtP1kmnq6il2uwgyciwRgcAOe +EgorBgEEAZdVAQUBAQdAhdVQGKq3JuKVEZlip2uTNMDkza6zXXEFHm6qVaSia1wD +AQgH/gkDArjfpn9ck9XVYP6ylaxOn6lZRQfL4eiIeDmO5POKOv/QfgY3AsBlpiYb +NeNgNkufZjFAiIDoDHZYOXeffyrsvio9cTKc6BWkTX8ZQQf8eDSIdQQYFgoAHQUC +YHADngIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEDrvXTM5Ei5DSo8A/2lieG2p +1DUmqxe6/5UdeOZ0Gyak004hmY/SqAoMX4EpAQC/x/HLOryl0XaVMtjg7nTGaYwY +C5B28f5xFO3gRrNYApSGBGBwA54WCSsGAQQB2kcPAQEHQMMbU96DJq/CWjfP5SDH +IfW4r5gSQ0sVQ0/4LO5vse7Q/gkDApWhEdTzT57PYL01IzPdwNmin3EU1pyU27gY +Z8tzzPdlEzSeRX0n9NhiVd0ueiSYlaJFgY3vwOkqPC6ASirC6sIPHAoXqT7Wieob +GWZom/e0FXVzZXJfNUBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcAOeAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQLtKq0mL6zNTtJQD7BvbYhN02p6hEeyzU +7gXi/ZJxN8UNB6E6KfHeZIniKusA/iBaicNuhQgchDgmJeaY9kZlV4vrOy8MnJYw +aQ2eMj0CnIsEYHADnhIKKwYBBAGXVQEFAQEHQHt34/5sSt1K0FjYXygTrdxmqXF9 +0M9HM4xGXEJ7T4ZtAwEIB/4JAwKVoRHU80+ez2Cs10JlG5mIWiz8CF/MedxbU4qy +hAmpMm5kwr6waRyIt1+GRv42wmlC27lFL0dABKtKcumVwhzWan2RZp0ZtmuwgyO9 +CvwqiHUEGBYKAB0FAmBwA54CGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRAu0qrS +YvrM1IAiAP9KyK3TAED8HMaksIoyW2Fhy8JvP5Y5BmSMKx0lyc+ssQD/QAFgzMlf +8zalHjr/EJEAytiU2LK+9S0acjehOOiqSQI= +=/XZC +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYHADnhYJKwYBBAHaRw8BAQdABn2aSMKWYfqlyvDZo9WH3nYArmXY10BGGmj5 +Hc3+BSL+CQMCGW2Cj5Pt3T1gSQr3b+fKbQgYlHsGupMUN+vSVhgiw5tcoaGvN/M7 +GcEER/wP3h9Owq4l581YAurZ+4rr2ZwBtXLXMiAvwUEvEQGLGXqgt7QVdXNlcl82 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBwA54CGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRDgvP+sjT4n+jK7AQCVAOfz5ZelPLs3Q42Uijz3y06brAQDX6oP +pVQUuQ4XsQEAiNFpV2+EvVtuiI+NoS5v7zZuM7tiW+0HK4mRg+IrEQmciwRgcAOe +EgorBgEEAZdVAQUBAQdAxMY3QAYOicPh7wOoYnA3IYWjChTlXZtNhDqk0lm1CgwD +AQgH/gkDAhltgo+T7d09YBxuxKXOIBnx7lppKwo0SlnCnUkfSbbcmzJxfVAnYzt2 +v8IAdH4aPd5m2M+YTGwMSKkjvG00Lxb8d7Lb1AhkxW+aAwx+EQeIdQQYFgoAHQUC +YHADngIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJEOC8/6yNPif6SRUA/jKjUuHD +IjTCcwlwrb/a+IeipcHDibXfKTKdzL3IdRJsAQDqKwFVJTOpTPVCBOD5vebVl2l+ +y5ReH/gn+QznzfMrBJSGBGBwA54WCSsGAQQB2kcPAQEHQCt0ed1p3+bq+0zbBzR+ +KRVkZjHu+/NDdtCk47AcZegd/gkDAhUlqEXzy0dSYEEyRsJKlMIHR8H9x/AhDimG +85ZQsYE5SqJ6ikpQaO/z1FWC/CwwYNEStB7NG8/1q0r4QasUYn/yyfkNSsYc3LYW +49N8E1+0FXVzZXJfN0BwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcAOeAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQLX1tYqznSHll5gD9E2pJdZdCNTTj8iCv +G777h66VOU/9KhduWFol3lwk/9UA/34Hz+6bQ3n9UbXb0/gQVcxpDS5f9esNWyen +RA11sYYMnIsEYHADnhIKKwYBBAGXVQEFAQEHQFsy5afYvy+TI/M6O7kY9TUEhUgi +5YuOrWJSDm9qjDQyAwEIB/4JAwIVJahF88tHUmABASVCoEubXrYEzy+xn4K49b8F +pDU2zSQsibxeSCNfsCCh1pTn51Z8K9mroxW05v0wjT3KVsGxRHubuNiS8cOttl36 +HIn4iHUEGBYKAB0FAmBwA54CGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRAtfW1i +rOdIeXs4AQCEic+Zy8GQ5rrw52oRRfOo0gf7LmK70iZuDT/GdG0NEQD/U9YZ8Owc +bJq9YnA+tOJif4n8jP74yqGkY7vSSTrgKQY= +=Wezo +-----END PGP PRIVATE KEY BLOCK----- + +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYHADnhYJKwYBBAHaRw8BAQdAIQW/RjgSmrY3zW1LScBNukzKOUks+55BE+A7 +K/PlU/7+CQMCIQfYdYpOUQ9gx5i0puPTAUQKmcbH6Ub/O3creZ3V17k2yG3x7djd +Fx3BMxEDEvaq8CCu76IixN8IfdOaoAM2AadMOcHK/kgXzt98HjekjbQVdXNlcl84 +QHBncGFpbmxlc3Mua2V5iHgEExYKACAFAmBwA54CGwMFFgIDAQAECwkIBwUVCgkI +CwIeAQIZAQAKCRDZnMEaz2EQ8xzYAP9fm6I8811oKAn/WhM35uSws8Osxnj/64U+ +YkdKpv0xAgEAk/3rRgQvcXOwHYcvvPAq/l84XA3d3i/ooRTmOzDk2g+ciwRgcAOe +EgorBgEEAZdVAQUBAQdAWV0PvEOpjEosYCprcc/hQNbtLyvmyMFROJa8UhDtrn8D +AQgH/gkDAiEH2HWKTlEPYI4UjWd9ZyclCrMwsNxS0BLt5ZMMpmFPWiFDSp+BjBiA +Q4WI/ssyhUwLAVsRZR6OImjI2CKUeWRTsJUduGAHhlRDHScfPHeIdQQYFgoAHQUC +YHADngIbDAUWAgMBAAQLCQgHBRUKCQgLAh4BAAoJENmcwRrPYRDzQUQBAIGR4/sO +RGG3mwbaWCx6DYQ46Z5FnnlVDdb6DGscFTN/AQC1fCcCo5PC7T/CUAz3DGDfFXMP +U3Ttk3VW1yUbgnlGDZSGBGBwA54WCSsGAQQB2kcPAQEHQMiaFQ5cm2A0gx+VRSbI +ETluYUzIQN0Mkc2R2yjit1Ee/gkDAq0VjMDhIHirYIw6hYVKU7obt2POkZn+VepB +9uLri7aqmnqDPVR5zLqSYJ/FE8VmuI4xPvsxX2fXBu9Nw4D8jXaUyo64hWH6uxcR +gbpQysC0FXVzZXJfOUBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcAOeAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQ1XtJhM/vtFCNxQD+Jahfv9fGBNOWy7Zy +6haOVlL+xLQPHlVW0gBKmooPzbwBAJPrZom51MqpSYM9DssvbzUWlQQOeZFlXepX +uIGig7YGnIsEYHADnhIKKwYBBAGXVQEFAQEHQCL+4AjWCMUzWCsMmSJGF3WcUNOL +FNR4zWsLtJl22gB2AwEIB/4JAwKtFYzA4SB4q2AW6tlV4Z+aTaD8s4kpNlqK3ko2 +mEODgzD62m1RPfEgbH/zdwKYBIkIa21SpGbKwK343NfkI+kXrRyFy1GNDZM5DDaH +XnQdiHUEGBYKAB0FAmBwA54CGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRDVe0mE +z++0ULA1AQDAfGX9fWSFkFJeUEMf3wdtH4f7uBnpHFed9T7ccHh1hgD/YkNbtpMI +EdJrIZnU/alchpAYC5JRJuaoyuaOgWxAgQI= +=E5rK +-----END PGP PRIVATE KEY BLOCK----- + diff --git a/pgpainless-core/src/test/resources/10_prv_keys_armored_single_header.asc b/pgpainless-core/src/test/resources/10_prv_keys_armored_single_header.asc new file mode 100644 index 00000000..76ee500a --- /dev/null +++ b/pgpainless-core/src/test/resources/10_prv_keys_armored_single_header.asc @@ -0,0 +1,118 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +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 +=ly6r +-----END PGP PRIVATE KEY BLOCK----- diff --git a/pgpainless-core/src/test/resources/10_prv_keys_binary.key b/pgpainless-core/src/test/resources/10_prv_keys_binary.key new file mode 100644 index 00000000..2e88c0b3 Binary files /dev/null and b/pgpainless-core/src/test/resources/10_prv_keys_binary.key differ diff --git a/pgpainless-core/src/test/resources/10_pub_keys_armored_own_header.asc b/pgpainless-core/src/test/resources/10_pub_keys_armored_own_header.asc new file mode 100644 index 00000000..12909107 --- /dev/null +++ b/pgpainless-core/src/test/resources/10_pub_keys_armored_own_header.asc @@ -0,0 +1,140 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYG/9ohYJKwYBBAHaRw8BAQdA4GSi/WpR575SzzySN3vEE0bNFDtVdlZDyLId +dRRqSNK0FXVzZXJfMEBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgb/2iAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQ3lmK+Q9CM1OQsgEAgP+ty9SsUDSR3fxy +2N+T5bnHD/THPm/kcti8kvKAmw8A/iTzSqRipsvhENtJFWIxRJ/k6f2KDaklyvv6 +h8PfgzYCuDgEYG/9ohIKKwYBBAGXVQEFAQEHQDLMC4z5APiY03VRlkeT5JuaPc8j +0kp/cFJagAKyMKsPAwEIB4h1BBgWCgAdBQJgb/2iAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQ3lmK+Q9CM1MD7wEAnfdY/4o1yBx4cs/eEaGrI2xAc8aVzzJuNMgb +PRPeS+8BAO1MFcwKzoXd4T4iWgtx9/8jTVooLoo33kQ7969j8CEN +=o0o0 +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYG/9ohYJKwYBBAHaRw8BAQdACWsgtXPmLLlSPwxaFQog9mQFy6ZZbHvj6iQE +/TMXLDy0FXVzZXJfMUBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgb/2iAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQTvNRpybL9o/LjgD8Ct9IonhYoV06NG5L +9+QooEvEKEC+NB3pPLKReJ6v0e4A/2K2E7HPRJ0+MgOlI3jGvrKkUN0gTyFqAGdR +Fvew37QIuDgEYG/9ohIKKwYBBAGXVQEFAQEHQGoBqjPjZQ5h+7vnHSlSprqWablw +7LFDDT9MQu3cBkRdAwEIB4h1BBgWCgAdBQJgb/2iAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQTvNRpybL9o/PcQD/TFVUb/LDpscZ0xlBqnEFBbQIIWRu+PKh3JQT +Yvqu4i0BAL5fp4R7UoyaQcVJSQJpzb4rPLtYXHd7TlX86d5mgvwI +=IC+d +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYG/9ohYJKwYBBAHaRw8BAQdAr3O4Z2t/kjwlpMAZ1HnWpNI5q454f7/v7YtU +0QcWbF20FXVzZXJfMkBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgb/2iAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQ6jfPv1Dm28J2VAD+MCYaGxj+9eap+3ji +OM8P5zFa9GRS+hNqnlDCZHkr9PIBAMSTLKkgnwwt8s8pfJmm22yDQdioTm9PGXga +E23X/ekGuDgEYG/9ohIKKwYBBAGXVQEFAQEHQK63qGKVJJv2jS/5YrOSYjIpn/V7 +SibTWSJyqnkxT/Z6AwEIB4h1BBgWCgAdBQJgb/2iAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQ6jfPv1Dm28JWvgEAqmMS7ougF2hJlHa5eyFgbNuhlLRCPnfzRude +9SQnBaIBAM+aBuDKqKjSSQcUnCxzbpD5gOL11iH9+InRxeZ7ChsN +=1NKN +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYG/9ohYJKwYBBAHaRw8BAQdAsXtdS9mXjUhK/4E0k7lePNImlIxYWtiGDGwb +gC628ti0FXVzZXJfM0BwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgb/2iAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQwV6MaZHP9oGx4QEA9q8e29stf6sKrO5k +rrYmltCiAfbNyApoE25qgJVIhuUBANVCX5BMo5VVzrtIIDJEP2tIQojqouiUIvsY +o4bJpRQDuDgEYG/9ohIKKwYBBAGXVQEFAQEHQJ9W09XvWgQ7L7Dnnap9olbSdbSI +WTonf/w5QzxvciJmAwEIB4h1BBgWCgAdBQJgb/2iAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQwV6MaZHP9oFU2QD/W/iCIUCmMMmOHpeaipefcu4zdjfxcVUXdCq6 +rSot3vcBALw6wIyVnvoIbJwV1/wRkeqcRGatIcD8s7p2a3HypaAM +=a4Gf +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYG/9ohYJKwYBBAHaRw8BAQdArKS8wI+1pwL4wbXVLe04GE6ikSl+GFgTW6aY +uPGYa720FXVzZXJfNEBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgb/2iAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQQzWJGPuZt38U2wEA/V4n9MTiKoXkPMVR +I0Xv6jY0w+yqZA2un2JyWfd+lCoBAJ628ydwNX1oyK64qeJYAu7CCYSr52dTZ2aX +X2ZxDmMAuDgEYG/9ohIKKwYBBAGXVQEFAQEHQCICN5U0guSGQd0NvStWoaer4kH/ +Aj0wIh6nnLJm/wMZAwEIB4h1BBgWCgAdBQJgb/2iAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQQzWJGPuZt38xFwEA8ZSZZY+LhRdrDdp9BLD6f5RFQ3uuZDrP24uD +W5UqNzgBAPTz+y1xPwqvOP3DWfQTwDEQ4OgayxA7QCkXnX3blCgN +=PABR +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYG/9ohYJKwYBBAHaRw8BAQdABq0Y/MyHEm/9kkYKlbLn/6nQLaNZRveQ7rEI +05Q21eS0FXVzZXJfNUBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgb/2iAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQoh00ve8HZ7I+tgD8DEKmA2dbVvfxxysC +2gUfJBagjP52ml4uLcQop7p52KUA/j2Fx6/jDOOKYgVm6xlCcV1yxuQRbPfkFXPX +5XwfpqIGuDgEYG/9ohIKKwYBBAGXVQEFAQEHQGwSQPXZ9y3XdmCe2K8l95hd9+2o +oAW7JIyLVTKIdvJIAwEIB4h1BBgWCgAdBQJgb/2iAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQoh00ve8HZ7JTeAEAkvCdKSZbPZzGaw83b/A5gjVRJM4alNOe+mrI +AYr3/mMBAN1W4zzovmuqprZZhQMzTnw67dnrRJ+hEo4O1JY+rhwA +=bLRx +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYG/9ohYJKwYBBAHaRw8BAQdAjd96ADby174AIHbcBjg6QwMFckfZ/zuIo7CS +DM8RgOi0FXVzZXJfNkBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgb/2iAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQz3Ndm7O0qI3RLAD/cKM6x7UdT7+nJtK0 +b3keDMXcNZPOh9dPQsSoU/eAYUoA/i2e5LbSAlqL6bKrKrmd+LgOiC2IaO8VjSbp +yAs8sPkGuDgEYG/9ohIKKwYBBAGXVQEFAQEHQDjgCMK/Z3TFtSm3JicId5OHeQyR +xLT8mR40Km40zaZOAwEIB4h1BBgWCgAdBQJgb/2iAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQz3Ndm7O0qI2QiAEAnceDjuS6xRoeZoGgGt0O+k+CrfUx/klT4k9M +P7SAlM8A/jtuZZLyFFQ7GMJL3+ouedGzTdLuZUcuo/0H969EQPkD +=nQ9m +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYG/9ohYJKwYBBAHaRw8BAQdAZ+mgtwLe5nKLUXH7me6OqhEcoiadRQaR/rJp +DuQA30S0FXVzZXJfN0BwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgb/2iAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQpKaMgaHHfh+mlQD/VBluYpTHpxWN0Zjt +VgwzTEdc9VRWlj54eimkRPKF0XcA/iuNm5CDYj7u2zk8/A3A3mtYvHp1dJ82iy+g +eBK3iAAEuDgEYG/9ohIKKwYBBAGXVQEFAQEHQGf2RFn/EK+EklqJBq42rEa0rP0Z +6SCboWSRUaoepK4VAwEIB4h1BBgWCgAdBQJgb/2iAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQpKaMgaHHfh8n3gEAmKLL7Q8OaF4aw5N2mfET+eSEJ9Ttk2Kv6y+U +/M+ZY1ABAJEstzNKXTxl/zuLtBIP+v7P1ALo909TA8BPLhiF/pkH +=6yHS +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYG/9ohYJKwYBBAHaRw8BAQdAMhlHJtHMexKDchAwAAjnd4mgtEx0vFi+FVgy +ITWSVUa0FXVzZXJfOEBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgb/2iAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQwXOJuelvYETajgEA8Isy+oeMpCFU34GP +NmvyXB3lMMWftlfWEcTEyzKiTh4A/jpG2fyAvLWKLh1Ui6mnPi3LU4mBYOeQIR+n +8SXOfo0IuDgEYG/9ohIKKwYBBAGXVQEFAQEHQBL1eI2fXZ+VWpOwuLR/a9WztXlD +apQ1lM7EPuaSgxhXAwEIB4h1BBgWCgAdBQJgb/2iAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQwXOJuelvYEQmXAEAv27TzaigTYhYiRO7yeiC/pCxDEAZ8NpM+JyX +S69dfUMA/jdduLFy2PiVdMdcxKfSx9eTOYcBMGyRUrBMpVZ23f4F +=e887 +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYG/9ohYJKwYBBAHaRw8BAQdAWjePtyGpev0l+Poff0ryKsNeigy/PxqfUpvN +nS5x6KS0FXVzZXJfOUBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgb/2iAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQCW1r0sdsyuumCgD+Mc2H5Dvuymmc/WxO +E8GvpuE5zcSAsX/LzaaHD0PbPdIBAPHRvoC0hbwtbZ3yOaRZxvTKPYMPe3QuLR1p +5tukVeAHuDgEYG/9ohIKKwYBBAGXVQEFAQEHQOIVZty8bHqDXOULGeyiFJOh8Psu +riA73N5C/pHOGfQVAwEIB4h1BBgWCgAdBQJgb/2iAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQCW1r0sdsyuuVRQD/TsQc21Kg+d9S6lYIwpczc839LDpmflmNrcNG +4XGtJcgBAI5c8TgQ65y46YwKLYlx+RWal8RF5mO1QxYS6wi1u/gK +=tPlZ +-----END PGP PUBLIC KEY BLOCK----- + diff --git a/pgpainless-core/src/test/resources/10_pub_keys_armored_own_with_single_header.asc b/pgpainless-core/src/test/resources/10_pub_keys_armored_own_with_single_header.asc new file mode 100644 index 00000000..1c31205b --- /dev/null +++ b/pgpainless-core/src/test/resources/10_pub_keys_armored_own_with_single_header.asc @@ -0,0 +1,110 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYHADnhYJKwYBBAHaRw8BAQdAWcIm6G/NbuOT//I4oDX5SQy7orTHZwRlU2ZU +aUhbx5S0FXVzZXJfMEBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcAOeAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQpF545ekwoUJq8AD9Gk8m5D7915NGsoHS +HKPmPkK8c0CbMWy6z+T+1A6c7eYBAL1bPflgu7bgm71uM1iPMdZ7nONKA8/fbET3 +VPBv+rIHuDgEYHADnhIKKwYBBAGXVQEFAQEHQOu3VOvQTAN968AS9IorOw9+TStn +iTy7dszubGLjg61gAwEIB4h1BBgWCgAdBQJgcAOeAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQpF545ekwoUL3aAD+KVEi8C9UDO1uU3d/UoDG3gg16IMVAXzYJas+ +cjlS3CoBALMWq/fNiCY0ZnWf0VEUCgWLKi37fmkh5WuDY3rSw2UDmDMEYHADnhYJ +KwYBBAHaRw8BAQdAQHPc/YGJo/CBOHZVoATvzsoL4POUawdcgzES6aTE6CS0FXVz +ZXJfMUBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcAOeAhsDBRYCAwEABAsJCAcF +FQoJCAsCHgECGQEACgkQqdsg7xM75EYaBQEAjnMI5WbVYTTb48zhK+iCh0BzZGrk +wDbCMATObyh6+ksBAITap4eQCsragxmxZ1zmp6BR3QnFIUGbOtpFG+l0yqAAuDgE +YHADnhIKKwYBBAGXVQEFAQEHQKXKEh3R9kLnQ+l7zAc8pnhe6FjGQyOj91FMkuOl +F34gAwEIB4h1BBgWCgAdBQJgcAOeAhsMBRYCAwEABAsJCAcFFQoJCAsCHgEACgkQ +qdsg7xM75EZ6XAEA++IpT4TzR8VHoNIWtV14RQ+3gXKt81sf27SppSux2sIBAPsV +TlTOWNi+Mlsi43XHamMdJmsGd+qKTBabOiMpWbEP +=d3FD +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYHADnhYJKwYBBAHaRw8BAQdAxIvSZayovTImA/bTF5CvP3MIJvTYH4/I0c2z +qpp+yoy0FXVzZXJfMkBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcAOeAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQJPCrOUpvTfSV3gEAm40pr5eOAjxCbvI9 +mFpqjoYIG+jNYRyJH7lOh1Le7qEBAIbMEBKafVfgoG/y+MS1Ily7ACeMtu/AasQK +vr0z8nMNuDgEYHADnhIKKwYBBAGXVQEFAQEHQNPNl8ZdmMW1NI3BorY5iSGvpyMB +ed2qLZTnM5DJlkceAwEIB4h1BBgWCgAdBQJgcAOeAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQJPCrOUpvTfQmSAEAt9aWX/fbZLXCSzF3kLRFMdZlbet+gIP0gy5r +713B18kBAPZnTvHspa0e8meKFqIKd6Eo9M2bV1w0CGnPyxNetfgMmDMEYHADnhYJ +KwYBBAHaRw8BAQdAUbRiDw8xBaR6cjC7i3M/aEeraDNzla4zRW6PiIzangi0FXVz +ZXJfM0BwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcAOeAhsDBRYCAwEABAsJCAcF +FQoJCAsCHgECGQEACgkQUoIIo7I8AwwQMAEAmJ+T2Jkh6BpgFJB/Ro/MZxywVUem +gyuSiKlaaN9V7jEA/j9BGrc7hmOIP6UOznyUpiO0m3ai53Ire3NFiPbu2+kIuDgE +YHADnhIKKwYBBAGXVQEFAQEHQHBb7p9XieiUo6GeRTHWcac5fsV/oM9eO1IyOMme +bgUiAwEIB4h1BBgWCgAdBQJgcAOeAhsMBRYCAwEABAsJCAcFFQoJCAsCHgEACgkQ +UoIIo7I8AwzcowD/ZeYEfluavtNkdYh1jJh+VdQ1X6qV8+EpjWhvCTF1GDAA/RQJ +OM3i1ZfQItFGO+AvFMVEsKjwyxwpxwwayLO01tsK +=cHw3 +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYHADnhYJKwYBBAHaRw8BAQdAPzOxVxzG/+YNvxce0sYRYwBGyyILmpiYBSes +72wFl8m0FXVzZXJfNEBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcAOeAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQOu9dMzkSLkOkvAD/ewqJrGyNfHlsECq5 +oRGdf/kbtTWMtvDd7o0qGclh1gsBAJtknvQYXcj4PmHOEJn6b+0gkd0qRrT9ZJp6 +uopdrsIMuDgEYHADnhIKKwYBBAGXVQEFAQEHQIXVUBiqtybilRGZYqdrkzTA5M2u +s11xBR5uqlWkomtcAwEIB4h1BBgWCgAdBQJgcAOeAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQOu9dMzkSLkNKjwD/aWJ4banUNSarF7r/lR145nQbJqTTTiGZj9Ko +CgxfgSkBAL/H8cs6vKXRdpUy2ODudMZpjBgLkHbx/nEU7eBGs1gCmDMEYHADnhYJ +KwYBBAHaRw8BAQdAwxtT3oMmr8JaN8/lIMch9bivmBJDSxVDT/gs7m+x7tC0FXVz +ZXJfNUBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcAOeAhsDBRYCAwEABAsJCAcF +FQoJCAsCHgECGQEACgkQLtKq0mL6zNTtJQD7BvbYhN02p6hEeyzU7gXi/ZJxN8UN +B6E6KfHeZIniKusA/iBaicNuhQgchDgmJeaY9kZlV4vrOy8MnJYwaQ2eMj0CuDgE +YHADnhIKKwYBBAGXVQEFAQEHQHt34/5sSt1K0FjYXygTrdxmqXF90M9HM4xGXEJ7 +T4ZtAwEIB4h1BBgWCgAdBQJgcAOeAhsMBRYCAwEABAsJCAcFFQoJCAsCHgEACgkQ +LtKq0mL6zNSAIgD/Ssit0wBA/BzGpLCKMlthYcvCbz+WOQZkjCsdJcnPrLEA/0AB +YMzJX/M2pR46/xCRAMrYlNiyvvUtGnI3oTjoqkkC +=HsV5 +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYHADnhYJKwYBBAHaRw8BAQdABn2aSMKWYfqlyvDZo9WH3nYArmXY10BGGmj5 +Hc3+BSK0FXVzZXJfNkBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcAOeAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQ4Lz/rI0+J/oyuwEAlQDn8+WXpTy7N0ON +lIo898tOm6wEA1+qD6VUFLkOF7EBAIjRaVdvhL1bboiPjaEub+82bjO7YlvtByuJ +kYPiKxEJuDgEYHADnhIKKwYBBAGXVQEFAQEHQMTGN0AGDonD4e8DqGJwNyGFowoU +5V2bTYQ6pNJZtQoMAwEIB4h1BBgWCgAdBQJgcAOeAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQ4Lz/rI0+J/pJFQD+MqNS4cMiNMJzCXCtv9r4h6KlwcOJtd8pMp3M +vch1EmwBAOorAVUlM6lM9UIE4Pm95tWXaX7LlF4f+Cf5DOfN8ysEmDMEYHADnhYJ +KwYBBAHaRw8BAQdAK3R53Wnf5ur7TNsHNH4pFWRmMe7780N20KTjsBxl6B20FXVz +ZXJfN0BwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcAOeAhsDBRYCAwEABAsJCAcF +FQoJCAsCHgECGQEACgkQLX1tYqznSHll5gD9E2pJdZdCNTTj8iCvG777h66VOU/9 +KhduWFol3lwk/9UA/34Hz+6bQ3n9UbXb0/gQVcxpDS5f9esNWyenRA11sYYMuDgE +YHADnhIKKwYBBAGXVQEFAQEHQFsy5afYvy+TI/M6O7kY9TUEhUgi5YuOrWJSDm9q +jDQyAwEIB4h1BBgWCgAdBQJgcAOeAhsMBRYCAwEABAsJCAcFFQoJCAsCHgEACgkQ +LX1tYqznSHl7OAEAhInPmcvBkOa68OdqEUXzqNIH+y5iu9Imbg0/xnRtDREA/1PW +GfDsHGyavWJwPrTiYn+J/Iz++MqhpGO70kk64CkG +=uQ1y +-----END PGP PUBLIC KEY BLOCK----- + +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYHADnhYJKwYBBAHaRw8BAQdAIQW/RjgSmrY3zW1LScBNukzKOUks+55BE+A7 +K/PlU/60FXVzZXJfOEBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcAOeAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQ2ZzBGs9hEPMc2AD/X5uiPPNdaCgJ/1oT +N+bksLPDrMZ4/+uFPmJHSqb9MQIBAJP960YEL3FzsB2HL7zwKv5fOFwN3d4v6KEU +5jsw5NoPuDgEYHADnhIKKwYBBAGXVQEFAQEHQFldD7xDqYxKLGAqa3HP4UDW7S8r +5sjBUTiWvFIQ7a5/AwEIB4h1BBgWCgAdBQJgcAOeAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQ2ZzBGs9hEPNBRAEAgZHj+w5EYbebBtpYLHoNhDjpnkWeeVUN1voM +axwVM38BALV8JwKjk8LtP8JQDPcMYN8Vcw9TdO2TdVbXJRuCeUYNmDMEYHADnhYJ +KwYBBAHaRw8BAQdAyJoVDlybYDSDH5VFJsgROW5hTMhA3QyRzZHbKOK3UR60FXVz +ZXJfOUBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgcAOeAhsDBRYCAwEABAsJCAcF +FQoJCAsCHgECGQEACgkQ1XtJhM/vtFCNxQD+Jahfv9fGBNOWy7Zy6haOVlL+xLQP +HlVW0gBKmooPzbwBAJPrZom51MqpSYM9DssvbzUWlQQOeZFlXepXuIGig7YGuDgE +YHADnhIKKwYBBAGXVQEFAQEHQCL+4AjWCMUzWCsMmSJGF3WcUNOLFNR4zWsLtJl2 +2gB2AwEIB4h1BBgWCgAdBQJgcAOeAhsMBRYCAwEABAsJCAcFFQoJCAsCHgEACgkQ +1XtJhM/vtFCwNQEAwHxl/X1khZBSXlBDH98HbR+H+7gZ6RxXnfU+3HB4dYYA/2JD +W7aTCBHSayGZ1P2pXIaQGAuSUSbmqMrmjoFsQIEC +=wEh7 +-----END PGP PUBLIC KEY BLOCK----- + diff --git a/pgpainless-core/src/test/resources/10_pub_keys_armored_single_header.asc b/pgpainless-core/src/test/resources/10_pub_keys_armored_single_header.asc new file mode 100644 index 00000000..c052df62 --- /dev/null +++ b/pgpainless-core/src/test/resources/10_pub_keys_armored_single_header.asc @@ -0,0 +1,84 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYG8q7RYJKwYBBAHaRw8BAQdAOqlLh1xoq1Ki0K6xJ35PBVj1vWblXH53MsLS +vltyBZK0FXVzZXJfMEBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgbyrtAhsDBRYC +AwEABAsJCAcFFQoJCAsCHgECGQEACgkQvtswVxEBZtLRhgEAiEYPjhCuOJfx4EJm +uHJXkCnFZwlQd3j7hnnu6j0BsW0BAOxUaegTGi6V4/t+8t67YfMuUcBYYoT2CkF2 +g9Hv3wMGuDgEYG8q7RIKKwYBBAGXVQEFAQEHQJ6rXhrI7nQrQUepGfOQRczun+Pf +IWnUep1XaWrhoNxAAwEIB4h1BBgWCgAdBQJgbyrtAhsMBRYCAwEABAsJCAcFFQoJ +CAsCHgEACgkQvtswVxEBZtKl2wEAscUuCxAG6FgB//VzwP4CPEZt+4xg05M/Abwu +bjyMuFsA/0xKRLe5OTUJ0hHDRdhWl8GiN4KHU0Zd5nhJYpH8/G8CmDMEYG8q7RYJ +KwYBBAHaRw8BAQdAUCShHHNs6DaeR4NEDQV8KuPjgDb2kztAHhWG/d5imTe0FXVz +ZXJfMUBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgbyrtAhsDBRYCAwEABAsJCAcF +FQoJCAsCHgECGQEACgkQHXhvV+b6xuaLAQD/TK6ETc1kgVq3FwIIPMOCGFSjAZM9 +PS0TLRLVTahs//cBAP8i6/bWPnFGXeGJCiOQm5iTrnyvCVm9SrYK3nOLVzkBuDgE +YG8q7RIKKwYBBAGXVQEFAQEHQK8hyMLVzqJSevGse33Pwb/f5hdtWeCQJXgaAV6p +iTR8AwEIB4h1BBgWCgAdBQJgbyrtAhsMBRYCAwEABAsJCAcFFQoJCAsCHgEACgkQ +HXhvV+b6xubHswEAoJehmfL7hJjawd2Rp9SvYFC0SbrewMYJ9FSLaRG6DgEA/2ga +hR5RN3TThoxtyACbpThllL954vS8biMdaJdz3k4NmDMEYG8q7RYJKwYBBAHaRw8B +AQdAzwss+ACV29EFnTsAYZDLVoZXoUdkcISLrzKRZW/wyy+0FXVzZXJfMkBwZ3Bh +aW5sZXNzLmtleYh4BBMWCgAgBQJgbyrtAhsDBRYCAwEABAsJCAcFFQoJCAsCHgEC +GQEACgkQktr2WxwdPSqwhgD/Yxkm3+pG9vDrtdnh+qHFWNrOTKViVGazS5DwxIdK +ndgA+wdpojrFKGIu4Y2OSjKAe+3Jr2oDZ2ad73THIZca6NcBuDgEYG8q7RIKKwYB +BAGXVQEFAQEHQMmDRNx1QJWpXKvbcxADoqo5Yt3ki1J5O+Ak8frCaWMuAwEIB4h1 +BBgWCgAdBQJgbyrtAhsMBRYCAwEABAsJCAcFFQoJCAsCHgEACgkQktr2WxwdPSqc +8wD6AoGDyKp3y83nKFVlSC3pRi2Ubfq7iK6CtKMdHhGcmaYA/RXxHDcDWlgVq7PP +ALzm6zH+JORBbCrL52ConnduNZYKmDMEYG8q7RYJKwYBBAHaRw8BAQdA4qEk0PQ2 +OiJ0tF4xaXhbbbBWR2XyoRsoaaBrxdY33qa0FXVzZXJfM0BwZ3BhaW5sZXNzLmtl +eYh4BBMWCgAgBQJgbyrtAhsDBRYCAwEABAsJCAcFFQoJCAsCHgECGQEACgkQ0yfv +RLTCd71PDwEAtYjCKoHoGcuDHg+qaFnauYGn2SmNyveLeWa8V5yq/z8A/AwTLNfk +cpq22eCqc6b5yuhw7xpSrrFcMDPXK8nGLIMNuDgEYG8q7RIKKwYBBAGXVQEFAQEH +QOxGx8dL6oexyejzVPyipFBfyIF/mvvPvuI4S9FNWlpgAwEIB4h1BBgWCgAdBQJg +byrtAhsMBRYCAwEABAsJCAcFFQoJCAsCHgEACgkQ0yfvRLTCd71jCgEA3ZdYNvMz +gtaP+J4ZxmhxmVVs6cJr/AtfMs15wElHcYQA/0rudXjrRBXUq7esm25a8xK4ol65 +DE0CBgkfoI39PxEGmDMEYG8q7RYJKwYBBAHaRw8BAQdANyw7EIAUg/RR551a6mr1 +yQwr/18XKkbn9QdvHydKWZq0FXVzZXJfNEBwZ3BhaW5sZXNzLmtleYh4BBMWCgAg +BQJgbyrtAhsDBRYCAwEABAsJCAcFFQoJCAsCHgECGQEACgkQ3lNR0sKx/osiuQD/ +eliGDv9ROTo50FGuzDLv9lFWYGrRQf/cy/lcYOqeWuwA/RvZbSfzvSkd3Lg2dGfy +qOn8HRJGaJ9n2Cv3f6epbZ4BuDgEYG8q7RIKKwYBBAGXVQEFAQEHQK8k06kPx/xU +0qpvYTvAESJVz9sD3wZoEJlh99wT3R0KAwEIB4h1BBgWCgAdBQJgbyrtAhsMBRYC +AwEABAsJCAcFFQoJCAsCHgEACgkQ3lNR0sKx/ot/1gD/cDKyK2ajkEnIyttOFZRz +IHZyPz3dzSHFbZYayxfEmMoBAPSfoO5AlOxzoVkPh8WsmJ+7hmVNbcDUN5ubM0Gn +WlkMmDMEYG8q7RYJKwYBBAHaRw8BAQdAICMFlLOEfCe1If5C2LPBPTPZBFBKrxZf +HJE3SdWBZKy0FXVzZXJfNUBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgbyrtAhsD +BRYCAwEABAsJCAcFFQoJCAsCHgECGQEACgkQhf1EXH8vpX95KgEAqxvMrgmAfr60 +cT4IoPTqgNAX3AtAJJqJfYJcK1gocH8A/0wZVljKdjL6uDzbnh6aj80o2RXsQINE +GXz/7B3xyNMGuDgEYG8q7RIKKwYBBAGXVQEFAQEHQAn7C8h+bYfmAYRsNCiVKWHy +LcKCcVfbtxKzEo5afcslAwEIB4h1BBgWCgAdBQJgbyrtAhsMBRYCAwEABAsJCAcF +FQoJCAsCHgEACgkQhf1EXH8vpX/plgD9HsFjeprg/FZrNtTBlZ5jfyL3jFlQNVwW +n1aOZUy7E4gA/1IM3/pjvn5dOX4aZdg8uDHBU5a3rDQSQy1D+X/5+qYJmDMEYG8q +7RYJKwYBBAHaRw8BAQdAmVmduWmRpt023cpK5mwfURM9JeR9PFexfzSQpdns0Jq0 +FXVzZXJfNkBwZ3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgbyrtAhsDBRYCAwEABAsJ +CAcFFQoJCAsCHgECGQEACgkQk+GvNmImb6B3SAD/R2ipFBZAyceehldnk+r/T6rx +iwjm4ohDQ+A/oX+qoUEBAI9jAyu6sSij9VsRUGLlyKBN6jXelUeaAgUCYWwJgGcB +uDgEYG8q7RIKKwYBBAGXVQEFAQEHQFLmr1ysp/30E3ci2m13NCOVz7MrCyIAmR6E +hDtjl49GAwEIB4h1BBgWCgAdBQJgbyrtAhsMBRYCAwEABAsJCAcFFQoJCAsCHgEA +CgkQk+GvNmImb6BodQEAsd+c0OECWi5s7B/dm1T55uJuVNEriPaJtFHJZf/SV3AB +AI49ZULWvECj6pTOhXucH78X3mKpwYhMF5HE2h52FzwOmDMEYG8q7RYJKwYBBAHa +Rw8BAQdAgJgsJfBFumbB5MhnHz5BAtDf3+AWBI2U1tBD5tdbILy0FXVzZXJfN0Bw +Z3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgbyrtAhsDBRYCAwEABAsJCAcFFQoJCAsC +HgECGQEACgkQUFALGVp4lCtKOwD/ayi+cAcU9HgWaWN31iHfuAZ36FslpKv+07VN +ZdJ8yCMBAMPbL0zXfYpLm7sV5oFOFS0Kg6KTloMGdoObEPpyZScAuDgEYG8q7RIK +KwYBBAGXVQEFAQEHQFIhdKolO3lBs3j9TY6u7/lp2hk26b1LDzCbvhYWf/FbAwEI +B4h1BBgWCgAdBQJgbyrtAhsMBRYCAwEABAsJCAcFFQoJCAsCHgEACgkQUFALGVp4 +lCujHgD+OujvWEbh5Yrvy4GDRNcwyb8CWJdPxc2fPdmni4htDg0A/0a6Gxy5Ucca +RmNjzIuKmNyKrU/5GS+nOmAl6eSNPKYPmDMEYG8q7RYJKwYBBAHaRw8BAQdAxP5q +G6WT3Ei3ZrdlYT48FgHz3pumVse/YtDAeNAKrye0FXVzZXJfOEBwZ3BhaW5sZXNz +LmtleYh4BBMWCgAgBQJgbyrtAhsDBRYCAwEABAsJCAcFFQoJCAsCHgECGQEACgkQ +Ve2xEHaPAMIYHwD/b6Op0ECZONeSR8slezMSmf8TF9Lkghqfp4hCzlMw6oUBAMAW +DJHKgiTBhHtggnNctvpNtHL9yVG7PkDRH04Tad4CuDgEYG8q7RIKKwYBBAGXVQEF +AQEHQCbwMCd4QHdguKu6EV0nZMawd8oNylRIuaTl8uWemEIRAwEIB4h1BBgWCgAd +BQJgbyrtAhsMBRYCAwEABAsJCAcFFQoJCAsCHgEACgkQVe2xEHaPAMKvwAD+M2rF +JD2rjJ7p1h3gXV4OHljqMlfwWojojn+vktT+rZQBAIKr4fH+R4dKLoSx2b00HxrJ +TzOY8hQy7Vbp8RwQWwcOmDMEYG8q7RYJKwYBBAHaRw8BAQdA75pzMv0qn2tTHo4+ +JYm2+UnPOcOrGNbyMtP3NYumw0+0FXVzZXJfOUBwZ3BhaW5sZXNzLmtleYh4BBMW +CgAgBQJgbyrtAhsDBRYCAwEABAsJCAcFFQoJCAsCHgECGQEACgkQjazIQpew4A/8 +3gD+LtCln4nX+IO35SR3c9vrlgzzGY43xosz1xpcDnl+c/kBANU8EC+f3rSBBWy4 +JWuJJZoreIBwG96QkYKdrJuFJbsPuDgEYG8q7RIKKwYBBAGXVQEFAQEHQBz1ZcIM +7cYmQ97vWr4OOPS6WSarVcjQ1XF+jhybJrtrAwEIB4h1BBgWCgAdBQJgbyrtAhsM +BRYCAwEABAsJCAcFFQoJCAsCHgEACgkQjazIQpew4A9KbgEAwS2h+8FRcI3Apq7x +rQar00jCes84FXIqvcy3avDCIiEBAM1gWspg+mX27Pgcba0ThS5+eJaC2enGhpmp +bTTvUaAF +=eAxJ +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pgpainless-core/src/test/resources/10_pub_keys_binary.key b/pgpainless-core/src/test/resources/10_pub_keys_binary.key new file mode 100644 index 00000000..f38fd915 Binary files /dev/null and b/pgpainless-core/src/test/resources/10_pub_keys_binary.key differ diff --git a/pgpainless-core/src/test/resources/single_prv_key_armored.asc b/pgpainless-core/src/test/resources/single_prv_key_armored.asc new file mode 100644 index 00000000..df665969 --- /dev/null +++ b/pgpainless-core/src/test/resources/single_prv_key_armored.asc @@ -0,0 +1,17 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: PGPainless + +lIYEYG8lxhYJKwYBBAHaRw8BAQdAolK1nWKk6ZydFTM2mTmQrHw8rtaRYjI6C3wS ++4j9nIP+CQMCmpmhAwkNCvBgTQmNuIhekCIWCBxWb0ubq0JBb3iDSeQYOjm0/5j8 +PNCynyY3apC1MmRRNDP57twvK5u7+o+Bl48en7GBT/ghYp91lwbrvLQTdXNlckBw +Z3BhaW5sZXNzLmtleYh4BBMWCgAgBQJgbyXHAhsDBRYCAwEABAsJCAcFFQoJCAsC +HgECGQEACgkQemKeeKtRKyMThAD/ZFxM5BJElBV/9DE2N28vJ0DH4JgJ/okbLqQ0 +9NklJI8BALC5aT1kNUbea7h5d/DiTvY7QnyMz8ZYLiDCT6ff9mYInIsEYG8lxxIK +KwYBBAGXVQEFAQEHQA02CN883ztVZKZlraCbOwelwAbF0jxEiwma3wVHclRIAwEI +B/4JAwKamaEDCQ0K8GAGHXD3bhKXgmrmtyPPn1Wmc3BQA5lL+tVOyHrTm6Wlb29P +iH1s0TZJmmkghlezpOEEANn5HP47ldGXdX7AwKCVbCGH+XxAiHUEGBYKAB0FAmBv +JccCGwwFFgIDAQAECwkIBwUVCgkICwIeAQAKCRB6Yp54q1ErI9/1AP9XPF63hGyQ +GaabZNOoOZlRCFjE8qZqOE8kK0EItCVopgD/bbJW1CaMaplv9tj5Z5uV1lsRC2lL +sUqqXNjZ4TNlCwc= +=4VXW +-----END PGP PRIVATE KEY BLOCK----- diff --git a/pgpainless-core/src/test/resources/single_prv_key_binary.key b/pgpainless-core/src/test/resources/single_prv_key_binary.key new file mode 100644 index 00000000..1e50b36d Binary files /dev/null and b/pgpainless-core/src/test/resources/single_prv_key_binary.key differ diff --git a/pgpainless-core/src/test/resources/single_pub_key_armored.asc b/pgpainless-core/src/test/resources/single_pub_key_armored.asc new file mode 100644 index 00000000..762d613a --- /dev/null +++ b/pgpainless-core/src/test/resources/single_pub_key_armored.asc @@ -0,0 +1,13 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: PGPainless + +mDMEYG8lxhYJKwYBBAHaRw8BAQdAolK1nWKk6ZydFTM2mTmQrHw8rtaRYjI6C3wS ++4j9nIO0E3VzZXJAcGdwYWlubGVzcy5rZXmIeAQTFgoAIAUCYG8lxwIbAwUWAgMB +AAQLCQgHBRUKCQgLAh4BAhkBAAoJEHpinnirUSsjE4QA/2RcTOQSRJQVf/QxNjdv +LydAx+CYCf6JGy6kNPTZJSSPAQCwuWk9ZDVG3mu4eXfw4k72O0J8jM/GWC4gwk+n +3/ZmCLg4BGBvJccSCisGAQQBl1UBBQEBB0ANNgjfPN87VWSmZa2gmzsHpcAGxdI8 +RIsJmt8FR3JUSAMBCAeIdQQYFgoAHQUCYG8lxwIbDAUWAgMBAAQLCQgHBRUKCQgL +Ah4BAAoJEHpinnirUSsj3/UA/1c8XreEbJAZpptk06g5mVEIWMTypmo4TyQrQQi0 +JWimAP9tslbUJoxqmW/22Plnm5XWWxELaUuxSqpc2NnhM2ULBw== +=tOhU +-----END PGP PUBLIC KEY BLOCK----- diff --git a/pgpainless-core/src/test/resources/single_pub_key_binary.key b/pgpainless-core/src/test/resources/single_pub_key_binary.key new file mode 100644 index 00000000..cc7353fb Binary files /dev/null and b/pgpainless-core/src/test/resources/single_pub_key_binary.key differ