From 0b18a7c76d82eef8ec3cf11dab29bf219aeb3035 Mon Sep 17 00:00:00 2001
From: J08nY
Date: Fri, 7 Jul 2017 18:04:14 +0200
Subject: Move test data to subdirectories.
---
src/mailman_pgp/pgp/tests/base.py | 16 +--
src/mailman_pgp/pgp/tests/data/clear.eml | 11 ---
.../pgp/tests/data/dsa_elgamal_1024.priv.asc | 26 -----
.../pgp/tests/data/dsa_elgamal_1024.pub.asc | 25 -----
src/mailman_pgp/pgp/tests/data/ecc_p256.priv.asc | 16 ---
src/mailman_pgp/pgp/tests/data/ecc_p256.pub.asc | 15 ---
.../pgp/tests/data/inline_cleartext_signed.eml | 24 -----
.../tests/data/inline_cleartext_signed_invalid.eml | 24 -----
.../pgp/tests/data/inline_encrypted.eml | 19 ----
src/mailman_pgp/pgp/tests/data/inline_privkey.eml | 43 --------
src/mailman_pgp/pgp/tests/data/inline_pubkey.eml | 30 ------
src/mailman_pgp/pgp/tests/data/inline_signed.eml | 20 ----
.../pgp/tests/data/inline_signed_corrupted.eml | 20 ----
.../pgp/tests/data/keys/ecc_p256.priv.asc | 16 +++
.../pgp/tests/data/keys/ecc_p256.pub.asc | 15 +++
.../pgp/tests/data/keys/rsa_1024.priv.asc | 33 +++++++
.../pgp/tests/data/keys/rsa_1024.pub.asc | 20 ++++
src/mailman_pgp/pgp/tests/data/messages/clear.eml | 11 +++
.../tests/data/messages/dsa_elgamal_1024.priv.asc | 26 +++++
.../tests/data/messages/dsa_elgamal_1024.pub.asc | 25 +++++
.../data/messages/inline_cleartext_signed.eml | 24 +++++
.../messages/inline_cleartext_signed_invalid.eml | 24 +++++
.../pgp/tests/data/messages/inline_encrypted.eml | 19 ++++
.../pgp/tests/data/messages/inline_privkey.eml | 43 ++++++++
.../pgp/tests/data/messages/inline_pubkey.eml | 30 ++++++
.../pgp/tests/data/messages/inline_signed.eml | 20 ++++
.../data/messages/inline_signed_corrupted.eml | 20 ++++
.../pgp/tests/data/messages/mime_encrypted.eml | 37 +++++++
.../tests/data/messages/mime_encrypted_signed.eml | 42 ++++++++
.../data/messages/mime_encrypted_then_signed.eml | 50 ++++++++++
.../pgp/tests/data/messages/mime_privkey.eml | 59 +++++++++++
.../pgp/tests/data/messages/mime_pubkey.eml | 46 +++++++++
.../pgp/tests/data/messages/mime_signed.eml | 45 +++++++++
.../tests/data/messages/mime_signed_invalid.eml | 45 +++++++++
src/mailman_pgp/pgp/tests/data/mime_encrypted.eml | 37 -------
.../pgp/tests/data/mime_encrypted_signed.eml | 42 --------
.../pgp/tests/data/mime_encrypted_then_signed.eml | 50 ----------
src/mailman_pgp/pgp/tests/data/mime_privkey.eml | 59 -----------
src/mailman_pgp/pgp/tests/data/mime_pubkey.eml | 46 ---------
src/mailman_pgp/pgp/tests/data/mime_signed.eml | 45 ---------
.../pgp/tests/data/mime_signed_invalid.eml | 45 ---------
src/mailman_pgp/pgp/tests/data/rsa_1024.priv.asc | 33 -------
src/mailman_pgp/pgp/tests/data/rsa_1024.pub.asc | 20 ----
src/mailman_pgp/pgp/tests/test_inline.py | 102 +++++++++----------
src/mailman_pgp/pgp/tests/test_mime.py | 86 ++++++++--------
src/mailman_pgp/pgp/tests/test_wrapper.py | 110 ++++++++++-----------
46 files changed, 809 insertions(+), 805 deletions(-)
delete mode 100644 src/mailman_pgp/pgp/tests/data/clear.eml
delete mode 100644 src/mailman_pgp/pgp/tests/data/dsa_elgamal_1024.priv.asc
delete mode 100644 src/mailman_pgp/pgp/tests/data/dsa_elgamal_1024.pub.asc
delete mode 100644 src/mailman_pgp/pgp/tests/data/ecc_p256.priv.asc
delete mode 100644 src/mailman_pgp/pgp/tests/data/ecc_p256.pub.asc
delete mode 100644 src/mailman_pgp/pgp/tests/data/inline_cleartext_signed.eml
delete mode 100644 src/mailman_pgp/pgp/tests/data/inline_cleartext_signed_invalid.eml
delete mode 100644 src/mailman_pgp/pgp/tests/data/inline_encrypted.eml
delete mode 100644 src/mailman_pgp/pgp/tests/data/inline_privkey.eml
delete mode 100644 src/mailman_pgp/pgp/tests/data/inline_pubkey.eml
delete mode 100644 src/mailman_pgp/pgp/tests/data/inline_signed.eml
delete mode 100644 src/mailman_pgp/pgp/tests/data/inline_signed_corrupted.eml
create mode 100644 src/mailman_pgp/pgp/tests/data/keys/ecc_p256.priv.asc
create mode 100644 src/mailman_pgp/pgp/tests/data/keys/ecc_p256.pub.asc
create mode 100644 src/mailman_pgp/pgp/tests/data/keys/rsa_1024.priv.asc
create mode 100644 src/mailman_pgp/pgp/tests/data/keys/rsa_1024.pub.asc
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/clear.eml
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/dsa_elgamal_1024.priv.asc
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/dsa_elgamal_1024.pub.asc
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/inline_cleartext_signed.eml
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/inline_cleartext_signed_invalid.eml
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/inline_encrypted.eml
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/inline_privkey.eml
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/inline_pubkey.eml
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/inline_signed.eml
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/inline_signed_corrupted.eml
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/mime_encrypted.eml
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/mime_encrypted_signed.eml
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/mime_encrypted_then_signed.eml
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/mime_privkey.eml
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/mime_pubkey.eml
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/mime_signed.eml
create mode 100644 src/mailman_pgp/pgp/tests/data/messages/mime_signed_invalid.eml
delete mode 100644 src/mailman_pgp/pgp/tests/data/mime_encrypted.eml
delete mode 100644 src/mailman_pgp/pgp/tests/data/mime_encrypted_signed.eml
delete mode 100644 src/mailman_pgp/pgp/tests/data/mime_encrypted_then_signed.eml
delete mode 100644 src/mailman_pgp/pgp/tests/data/mime_privkey.eml
delete mode 100644 src/mailman_pgp/pgp/tests/data/mime_pubkey.eml
delete mode 100644 src/mailman_pgp/pgp/tests/data/mime_signed.eml
delete mode 100644 src/mailman_pgp/pgp/tests/data/mime_signed_invalid.eml
delete mode 100644 src/mailman_pgp/pgp/tests/data/rsa_1024.priv.asc
delete mode 100644 src/mailman_pgp/pgp/tests/data/rsa_1024.pub.asc
(limited to 'src/mailman_pgp/pgp')
diff --git a/src/mailman_pgp/pgp/tests/base.py b/src/mailman_pgp/pgp/tests/base.py
index 2f8d406..d561fda 100644
--- a/src/mailman_pgp/pgp/tests/base.py
+++ b/src/mailman_pgp/pgp/tests/base.py
@@ -16,22 +16,26 @@
# this program. If not, see .
""""""
-from email import message_from_file
+
+import os
+from email import message_from_bytes
from unittest import TestCase
from mailman.email.message import Message
from pgpy import PGPKey
-from pkg_resources import resource_filename
+from pkg_resources import resource_string
def load_message(path):
- with open(resource_filename('mailman_pgp.pgp.tests', path)) as f:
- return message_from_file(f, Message)
+ data = resource_string('mailman_pgp.pgp.tests',
+ os.path.join('data', 'messages', path))
+ return message_from_bytes(data, Message)
def load_key(path):
- key, _ = PGPKey.from_file(
- resource_filename('mailman_pgp.pgp.tests', path))
+ key, _ = PGPKey.from_blob(
+ resource_string('mailman_pgp.pgp.tests',
+ os.path.join('data', 'keys', path)))
return key
diff --git a/src/mailman_pgp/pgp/tests/data/clear.eml b/src/mailman_pgp/pgp/tests/data/clear.eml
deleted file mode 100644
index 55e35b3..0000000
--- a/src/mailman_pgp/pgp/tests/data/clear.eml
+++ /dev/null
@@ -1,11 +0,0 @@
-To: nobody@example.org
-From: RSA 1024b example
-Subject: Some subject.
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Date: Wed, 21 Jun 2017 13:50:59 +0200
-User-Agent: Mutt/1.7.2 (2016-11-26)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
-
-Some cleartext.
diff --git a/src/mailman_pgp/pgp/tests/data/dsa_elgamal_1024.priv.asc b/src/mailman_pgp/pgp/tests/data/dsa_elgamal_1024.priv.asc
deleted file mode 100644
index 34ed61d..0000000
--- a/src/mailman_pgp/pgp/tests/data/dsa_elgamal_1024.priv.asc
+++ /dev/null
@@ -1,26 +0,0 @@
------BEGIN PGP PRIVATE KEY BLOCK-----
-
-lQG7BFlO2csRBACVXwZnBCY9CasnsMhHTsLmE1iHd03SDS+2Kz8AWV5AsttjaO9T
-Y18PlZwfiy+Brw3x09/5tK9sgeFBwSrb137VQ3Tm37sQBLpDfGYL5ghi2/wiApMF
-MHml/UXzU2P9jZMmTHdferxMiNVk/9si0qUUgfXR/KCV/LwJo9L20SIQTwCgk56w
-Fpxgm4Yxy5OshgN71WXaS2kD/3LMp7JSUjVeiP0et8WfaR4O4hzAI0FDFTN+dU/l
-RMxqX7OEAgBf/Jl35jK9JOv4zVkSGJb9zCHr/xeN/mEQYvnn0ZH1nGJ1/yZfJ4zz
-Cmdu7x8IMLVbC5DWQigE3PdSXV0Mc5ynlwuuwyzC6rLzfCab1qERJMwwPLZ0+RJJ
-+znBA/9s+1cXE28nNhsR94MufefNP7gmRUysAtWoJ7tHrPJw8w5tmyP0VjDetCp1
-bgjnulkXPnQVKliMxo6M6bc0i47aHT4bTxHoeiHPg4wXAfEoECgLT+LhEqUF0Kzl
-p0JQQskUFxgutOnIsUVQ3ZtFFv+EowcEtP1pel5eK7I7xnL/KgAAn2uJiDSpdUMa
-4fR2XL7Z5yy0ZkIHCn60N0RTQSAxMDI0ICYgRWxHYW1hbCAxMDI0IDxEU0EtRWxH
-YW1hbC0xMDI0YkBleGFtcGxlLm9yZz6IeAQTEQIAOBYhBFHl8YQSvA1Dyd69k8PM
-CgY4QcenBQJZTtnLAhsDBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEMPMCgY4
-QcenNxMAnR2umA2PPnWsj1+qFXC48CytVSphAJ9cyTZzRlvXUekPTrDhL+hAsxvP
-j50BMgRZTtnLEAQAnnjkCf4X2hsJuXXkEk7XMHh489XiVH6QLVdWGdoIOngWPQV9
-RHhyLYeJ6s4+ir4Jl7syG1wWrPnGftAZ6NpWDDEwTzRRsdvolkgaWA/ITQhfA50r
-Lu/tUjYDb8K7iw61UaxwDdEBmZbBf06mup6l5vUQ4cJG4YAH3TctLhiqO0MAAwUD
-/3NtgV6aXlHDHcHuyz4iTNwxgZITwYcXFaVdglbBP49IDU0184vuXdd81tpy8sjU
-6kotXX0o3I0p1G+1Su2RsYQ5S7PQhOGkaS6UtzMGMI/hvVtvrTChkP0uX2Q9FUF2
-kIgCnNewOamjsrol9JBzt/rr9qDF0B5YMZriI9gS2JvgAAD5AZnxfwraRmuXUhYX
-ZA+cdRYj7j3b4vjDWYWCaJfGryYQCIhgBBgRAgAgFiEEUeXxhBK8DUPJ3r2Tw8wK
-BjhBx6cFAllO2csCGwwACgkQw8wKBjhBx6cAAQCbBfP32czelOrJKJ+62wrGIkxg
-UIkAniXeyeJZEU3CPDns/d2MZn4iVEwY
-=Dzmm
------END PGP PRIVATE KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/dsa_elgamal_1024.pub.asc b/src/mailman_pgp/pgp/tests/data/dsa_elgamal_1024.pub.asc
deleted file mode 100644
index 51625d9..0000000
--- a/src/mailman_pgp/pgp/tests/data/dsa_elgamal_1024.pub.asc
+++ /dev/null
@@ -1,25 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mQGiBFlO2csRBACVXwZnBCY9CasnsMhHTsLmE1iHd03SDS+2Kz8AWV5AsttjaO9T
-Y18PlZwfiy+Brw3x09/5tK9sgeFBwSrb137VQ3Tm37sQBLpDfGYL5ghi2/wiApMF
-MHml/UXzU2P9jZMmTHdferxMiNVk/9si0qUUgfXR/KCV/LwJo9L20SIQTwCgk56w
-Fpxgm4Yxy5OshgN71WXaS2kD/3LMp7JSUjVeiP0et8WfaR4O4hzAI0FDFTN+dU/l
-RMxqX7OEAgBf/Jl35jK9JOv4zVkSGJb9zCHr/xeN/mEQYvnn0ZH1nGJ1/yZfJ4zz
-Cmdu7x8IMLVbC5DWQigE3PdSXV0Mc5ynlwuuwyzC6rLzfCab1qERJMwwPLZ0+RJJ
-+znBA/9s+1cXE28nNhsR94MufefNP7gmRUysAtWoJ7tHrPJw8w5tmyP0VjDetCp1
-bgjnulkXPnQVKliMxo6M6bc0i47aHT4bTxHoeiHPg4wXAfEoECgLT+LhEqUF0Kzl
-p0JQQskUFxgutOnIsUVQ3ZtFFv+EowcEtP1pel5eK7I7xnL/KrQ3RFNBIDEwMjQg
-JiBFbEdhbWFsIDEwMjQgPERTQS1FbEdhbWFsLTEwMjRiQGV4YW1wbGUub3JnPoh4
-BBMRAgA4FiEEUeXxhBK8DUPJ3r2Tw8wKBjhBx6cFAllO2csCGwMFCwkIBwIGFQgJ
-CgsCBBYCAwECHgECF4AACgkQw8wKBjhBx6c3EwCdHa6YDY8+dayPX6oVcLjwLK1V
-KmEAn1zJNnNGW9dR6Q9OsOEv6ECzG8+PuQENBFlO2csQBACeeOQJ/hfaGwm5deQS
-TtcweHjz1eJUfpAtV1YZ2gg6eBY9BX1EeHIth4nqzj6KvgmXuzIbXBas+cZ+0Bno
-2lYMMTBPNFGx2+iWSBpYD8hNCF8DnSsu7+1SNgNvwruLDrVRrHAN0QGZlsF/Tqa6
-nqXm9RDhwkbhgAfdNy0uGKo7QwADBQP/c22BXppeUcMdwe7LPiJM3DGBkhPBhxcV
-pV2CVsE/j0gNTTXzi+5d13zW2nLyyNTqSi1dfSjcjSnUb7VK7ZGxhDlLs9CE4aRp
-LpS3MwYwj+G9W2+tMKGQ/S5fZD0VQXaQiAKc17A5qaOyuiX0kHO3+uv2oMXQHlgx
-muIj2BLYm+CIYAQYEQIAIBYhBFHl8YQSvA1Dyd69k8PMCgY4QcenBQJZTtnLAhsM
-AAoJEMPMCgY4QcenAAEAmwXz99nM3pTqySifutsKxiJMYFCJAJ4l3sniWRFNwjw5
-7P3djGZ+IlRMGA==
-=Waxz
------END PGP PUBLIC KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/ecc_p256.priv.asc b/src/mailman_pgp/pgp/tests/data/ecc_p256.priv.asc
deleted file mode 100644
index b591afc..0000000
--- a/src/mailman_pgp/pgp/tests/data/ecc_p256.priv.asc
+++ /dev/null
@@ -1,16 +0,0 @@
------BEGIN PGP PRIVATE KEY BLOCK-----
-
-lHcEWU7bKhMIKoZIzj0DAQcCAwThGqSLtEwiMpxeYq/Rn2KBsIMFtzyQAbUimhh7
-zZLIHCCEkkCmgspsm6/PyKD7KKVXQdBQ8plxp0xIFRRdoPkvAAEA3zdhVq93r9E2
-u7rFDI0GVezCrCMTvkIMvbPsYfLr5fkR7LQsRUNDIFAtMjU2ICYgRUNDIFAtMjU2
-IDxFQ0MtUDI1NkBleGFtcGxlLm9yZz6IkAQTEwgAOBYhBLIosOb7llWGWt/SPTeT
-cgW+FajQBQJZTtsqAhsDBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEDeTcgW+
-FajQNqABAKnhpvhIYcX3QToj7HQa7z9VCxTS3QXqOAlxSbEbC9u2AP9hshbxfCGn
-O4WzpbKcMW+MUvmpRgV0pY4Kehzvsu8hnJx7BFlO2yoSCCqGSM49AwEHAgMEo11V
-G86zoOvLvYVGeINItew+c/F7UoUZkeOJIZvm83R1ER+JcS3LZwUZ4w7DRGk9Bva8
-NY3z621LgE4i6XJNlAMBCAcAAQCcPgYOAAp3urADU2wB2lhW6dUPZYhpW3qybyZl
-Bi46JwteiHgEGBMIACAWIQSyKLDm+5ZVhlrf0j03k3IFvhWo0AUCWU7bKgIbDAAK
-CRA3k3IFvhWo0AQcAQDLqKJVuLrlsqg6JokkV70/D2HtzZlul8HZMEAPIAb+nwD/
-Q35vBQhHf1ALWu8RdTXCQnWyjUJO03NHMpfF69XRH0o=
-=rOnV
------END PGP PRIVATE KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/ecc_p256.pub.asc b/src/mailman_pgp/pgp/tests/data/ecc_p256.pub.asc
deleted file mode 100644
index 92cafc7..0000000
--- a/src/mailman_pgp/pgp/tests/data/ecc_p256.pub.asc
+++ /dev/null
@@ -1,15 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mFIEWU7bKhMIKoZIzj0DAQcCAwThGqSLtEwiMpxeYq/Rn2KBsIMFtzyQAbUimhh7
-zZLIHCCEkkCmgspsm6/PyKD7KKVXQdBQ8plxp0xIFRRdoPkvtCxFQ0MgUC0yNTYg
-JiBFQ0MgUC0yNTYgPEVDQy1QMjU2QGV4YW1wbGUub3JnPoiQBBMTCAA4FiEEsiiw
-5vuWVYZa39I9N5NyBb4VqNAFAllO2yoCGwMFCwkIBwIGFQgJCgsCBBYCAwECHgEC
-F4AACgkQN5NyBb4VqNA2oAEAqeGm+EhhxfdBOiPsdBrvP1ULFNLdBeo4CXFJsRsL
-27YA/2GyFvF8Iac7hbOlspwxb4xS+alGBXSljgp6HO+y7yGcuFYEWU7bKhIIKoZI
-zj0DAQcCAwSjXVUbzrOg68u9hUZ4g0i17D5z8XtShRmR44khm+bzdHURH4lxLctn
-BRnjDsNEaT0G9rw1jfPrbUuATiLpck2UAwEIB4h4BBgTCAAgFiEEsiiw5vuWVYZa
-39I9N5NyBb4VqNAFAllO2yoCGwwACgkQN5NyBb4VqNAEHAEAy6iiVbi65bKoOiaJ
-JFe9Pw9h7c2ZbpfB2TBADyAG/p8A/0N+bwUIR39QC1rvEXU1wkJ1so1CTtNzRzKX
-xevV0R9K
-=64hS
------END PGP PUBLIC KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/inline_cleartext_signed.eml b/src/mailman_pgp/pgp/tests/data/inline_cleartext_signed.eml
deleted file mode 100644
index cb6d40c..0000000
--- a/src/mailman_pgp/pgp/tests/data/inline_cleartext_signed.eml
+++ /dev/null
@@ -1,24 +0,0 @@
-To: nobody@example.org
-From: RSA 1024b example
-Subject: Some subject.
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Date: Wed, 21 Jun 2017 13:50:59 +0200
-User-Agent: Mutt/1.7.2 (2016-11-26)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
-
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
-
-Some signed text.
-
------BEGIN PGP SIGNATURE-----
-
-iMoEAQEIADQWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUqdqRYccnNhLTEwMjRi
-QGV4YW1wbGUub3JnAAoJEEfxDAh4hLdYyRsEANGjr5E3Th1n6EUQEye4YBjlOFq6
-aiiSu+4K4O08yHQ5h1vqBkT2gCmcPpQOThNBRazdSYRvIPNLTyMy6ChhaeWzsmR0
-CIN/YYUC9mAh5XOF+tjaJTSlmBBhuJmayW1D8qysZVg3TmD+fXw+JImrhZW/g0Fi
-4B1oU+uBh6VAZZjJ
-=QecT
------END PGP SIGNATURE-----
diff --git a/src/mailman_pgp/pgp/tests/data/inline_cleartext_signed_invalid.eml b/src/mailman_pgp/pgp/tests/data/inline_cleartext_signed_invalid.eml
deleted file mode 100644
index c7d9b03..0000000
--- a/src/mailman_pgp/pgp/tests/data/inline_cleartext_signed_invalid.eml
+++ /dev/null
@@ -1,24 +0,0 @@
-To: nobody@example.org
-From: RSA 1024b example
-Subject: Some subject.
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Date: Wed, 21 Jun 2017 13:50:59 +0200
-User-Agent: Mutt/1.7.2 (2016-11-26)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
-
------BEGIN PGP SIGNED MESSAGE-----
-Hash: SHA256
-
-Some signed text. With some INVALID text added!!
-
------BEGIN PGP SIGNATURE-----
-
-iMoEAQEIADQWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUqdqRYccnNhLTEwMjRi
-QGV4YW1wbGUub3JnAAoJEEfxDAh4hLdYyRsEANGjr5E3Th1n6EUQEye4YBjlOFq6
-aiiSu+4K4O08yHQ5h1vqBkT2gCmcPpQOThNBRazdSYRvIPNLTyMy6ChhaeWzsmR0
-CIN/YYUC9mAh5XOF+tjaJTSlmBBhuJmayW1D8qysZVg3TmD+fXw+JImrhZW/g0Fi
-4B1oU+uBh6VAZZjJ
-=QecT
------END PGP SIGNATURE-----
diff --git a/src/mailman_pgp/pgp/tests/data/inline_encrypted.eml b/src/mailman_pgp/pgp/tests/data/inline_encrypted.eml
deleted file mode 100644
index 1c75042..0000000
--- a/src/mailman_pgp/pgp/tests/data/inline_encrypted.eml
+++ /dev/null
@@ -1,19 +0,0 @@
-To: nobody@example.org
-From: RSA 1024b example
-Subject: Some subject.
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Date: Wed, 21 Jun 2017 13:50:59 +0200
-User-Agent: Mutt/1.7.2 (2016-11-26)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
-
------BEGIN PGP MESSAGE-----
-
-hIwD9aW4UkhFqMoBA/9MpeKT7jjrQGIDTH+3Hj5pzIwOsoYLeCETXkgWcACfozUh
-bK5IP7W76jO2MPG/PQsa1cP0x25nH4kdYmsa4dzY+gWNfedspT2qGZvAM+zZ12nm
-mTr+DmnAMgKIg95CPkAth8bIQUm4i0HGj3j0TjY/I9CSdxJu7twsf3E38yqpJtJR
-AW2qZQM7waSpGjoSGhxS4mtFCjNRz7N6hXiG8DfuDdEUodXeGYTHuEU516W+Vv9f
-LpjD8AZOm+L6QDpZ0pf7grIh3kQXx7OvyaLliy+OMxXq
-=prUG
------END PGP MESSAGE-----
diff --git a/src/mailman_pgp/pgp/tests/data/inline_privkey.eml b/src/mailman_pgp/pgp/tests/data/inline_privkey.eml
deleted file mode 100644
index 683efdd..0000000
--- a/src/mailman_pgp/pgp/tests/data/inline_privkey.eml
+++ /dev/null
@@ -1,43 +0,0 @@
-To: nobody@example.org
-From: RSA 1024b example
-Subject: Some subject.
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Date: Wed, 21 Jun 2017 13:50:59 +0200
-User-Agent: Mutt/1.7.2 (2016-11-26)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
-
------BEGIN PGP PRIVATE KEY BLOCK-----
-
-lQHYBFlKWqQBBADY8dCIub6x4tcFS3SmWW1r5ctwldFixkLz8LpBdgpc+zt7iWZI
-XvVWH9GYgTzgE+qEAVJcvQDG7/cX6zTopkkGEUmnwBgEFpc7Xi0D+/GYC23XleQk
-IF/R2Mf0AW3FBx/UxK0kIkYfTelkuZBrag83iLh3yKXkcLm1T010eGbTWQARAQAB
-AAP/ayABKrqZrQpHxfAMEmZ/TzPCIP6BzeX7wqxAtLlehapzJV3kGWF2gQgmPcm3
-byi2eWeTrYKQwytUVsXIswcFcCY1Fv6NkntMSqc6VJzGhvjKE9CTNJmgSjHlILMW
-Ma/9TzhxH2DT9tNMgOEN3+FoKRqjlLrhO/OiXqYZJdkXU+8CAOQin6DGnn+qvjlN
-5zw1GIpmWBt9b1S/WEqKaG1t4D/V0m0pAJBqeUbSC6MonQLA9pmIK/LbetUKRwM/
-xLNRMs8CAPNxR4NY73YIfSnlGRPdZHmOq4wMtqXYtoN1qZruHcXsrojcKHV72n8y
-Hb3R+LEKVjky95RKeKGowousIhGYQVcCAKsWtTWQA/VMW2V+ydzFHZHN0xwC9eTc
-uhs7G1qAqJR2POCq/0Cr3W4nXnbYSAr9wHal/YUuIKr54vNbPlXp6xqf/rQpUlNB
-IDEwMjRiIGV4YW1wbGUgPFJTQS0xMDI0YkBleGFtcGxlLm9yZz6IzgQTAQgAOBYh
-BNSpSIaxyiCWpkWOXEfxDAh4hLdYBQJZSlqkAhsDBQsJCAcCBhUICQoLAgQWAgMB
-Ah4BAheAAAoJEEfxDAh4hLdYbQIEALBwJUxkBGJYlP5kOZYAgQHw6+rwIgdXAoPk
-ldwcGPhvlBEocRYx+5KUYrx7W352dv+AgxSZ590JL7JGvWJDvMxoZGCJiRvJ7+Ve
-luKRH167wT8H4hxftBJqzorTU4eyPzG8bFneuag5dw+81DdngXjWRCorEHEdaQjc
-sfvVEmnhnQHYBFlKWqQBBADXLjeg+K0ZAuchhNkvMnfb8TlKoc1t1lH94unoqoj3
-L5Srf3XSo1fmuEBNr1nc5BLyH0tPDJZyuVCypfY4en9uaGvWO0U4t/OUiIWqPjBm
-XbjZWDdGKksb0cQNy13cvE57EmirbuVcXCE0OdU8lcbopN2wnecKOxLKK9PaLBZ6
-9wARAQABAAP+NyRiYA9p+GdciKPtLiGeQpA6EMyPAs8x2sB8FcIh8EpSrHIw5OYz
-/+2GmQHPIwKVclOfrmW45jRkICvUgZuurMmMrnDu63UT/9Pm+4EiUkPFnKfAgYFm
-XwWf2SklsoHCFT2WQ31WCp/hZxWucYqfPM/5ZsE+EAToK+C8BnMicI0CAOAUhruY
-JVh/7u6ES7xI6Hd7yHmU6rLr7oP2Z8cILirt5+1FgOP/qPdVEK9UGShbBcjfA+8W
-u4LISyuvCm8vuyMCAPXVJmTdmJjzBvP7BZe+HbDzWfhPCN+BvepGi3DQdHonLU2t
-IVOcMQsu0raaLevZ19nCKeMrOoAaIhCdjJUBGB0B/iSErQY+sNUAbjsW0zWovY2u
-e+0TBMDkO3OZCFKxCr/7mEuIfsAENXvDwAmx/YDklMwN8zgUAc5BqObGtRE7BYSg
-n4i2BBgBCAAgFiEE1KlIhrHKIJamRY5cR/EMCHiEt1gFAllKWqQCGwwACgkQR/EM
-CHiEt1gOwQP7BuyH2oKuWPAXcVrJdl3P3fIqvm4JzKRjXCVA9j5QOdihH1W5rZFC
-x3J+bUvKa1QJ1NuHoU9gYvR2NPs+CpMlTJ2wg7ksgtddlC9lsVi1ijvjJCugveBh
-a/CQJt7Cl6uDkifPsD5kxyUTecmnVfYZB6Fb/nrZxJ5Cb1dKPGixDpw=
-=e2xw
------END PGP PRIVATE KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/inline_pubkey.eml b/src/mailman_pgp/pgp/tests/data/inline_pubkey.eml
deleted file mode 100644
index cb0d176..0000000
--- a/src/mailman_pgp/pgp/tests/data/inline_pubkey.eml
+++ /dev/null
@@ -1,30 +0,0 @@
-To: nobody@example.org
-From: RSA 1024b example
-Subject: Some subject.
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Date: Wed, 21 Jun 2017 13:50:59 +0200
-User-Agent: Mutt/1.7.2 (2016-11-26)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mI0EWUpapAEEANjx0Ii5vrHi1wVLdKZZbWvly3CV0WLGQvPwukF2Clz7O3uJZkhe
-9VYf0ZiBPOAT6oQBUly9AMbv9xfrNOimSQYRSafAGAQWlzteLQP78ZgLbdeV5CQg
-X9HYx/QBbcUHH9TErSQiRh9N6WS5kGtqDzeIuHfIpeRwubVPTXR4ZtNZABEBAAG0
-KVJTQSAxMDI0YiBleGFtcGxlIDxSU0EtMTAyNGJAZXhhbXBsZS5vcmc+iM4EEwEI
-ADgWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIbAwULCQgHAgYVCAkKCwIE
-FgIDAQIeAQIXgAAKCRBH8QwIeIS3WG0CBACwcCVMZARiWJT+ZDmWAIEB8Ovq8CIH
-VwKD5JXcHBj4b5QRKHEWMfuSlGK8e1t+dnb/gIMUmefdCS+yRr1iQ7zMaGRgiYkb
-ye/lXpbikR9eu8E/B+IcX7QSas6K01OHsj8xvGxZ3rmoOXcPvNQ3Z4F41kQqKxBx
-HWkI3LH71RJp4biNBFlKWqQBBADXLjeg+K0ZAuchhNkvMnfb8TlKoc1t1lH94uno
-qoj3L5Srf3XSo1fmuEBNr1nc5BLyH0tPDJZyuVCypfY4en9uaGvWO0U4t/OUiIWq
-PjBmXbjZWDdGKksb0cQNy13cvE57EmirbuVcXCE0OdU8lcbopN2wnecKOxLKK9Pa
-LBZ69wARAQABiLYEGAEIACAWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIb
-DAAKCRBH8QwIeIS3WA7BA/sG7Ifagq5Y8BdxWsl2Xc/d8iq+bgnMpGNcJUD2PlA5
-2KEfVbmtkULHcn5tS8prVAnU24ehT2Bi9HY0+z4KkyVMnbCDuSyC112UL2WxWLWK
-O+MkK6C94GFr8JAm3sKXq4OSJ8+wPmTHJRN5yadV9hkHoVv+etnEnkJvV0o8aLEO
-nA==
-=4olM
------END PGP PUBLIC KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/inline_signed.eml b/src/mailman_pgp/pgp/tests/data/inline_signed.eml
deleted file mode 100644
index f8adc02..0000000
--- a/src/mailman_pgp/pgp/tests/data/inline_signed.eml
+++ /dev/null
@@ -1,20 +0,0 @@
-To: nobody@example.org
-From: RSA 1024b example
-Subject: Some subject.
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Date: Wed, 21 Jun 2017 13:50:59 +0200
-User-Agent: Mutt/1.7.2 (2016-11-26)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
-
------BEGIN PGP MESSAGE-----
-
-owGbwMvMyMHo/pGHo6JlewTjackShkifww7B+bmpCsWZ6XmpKQolqRUlerxcHadY
-GBk5GEzEFFmurPRo23hKYdoy174YmFZWJpA+MZmi4kRdQwMjkySH1IrE3IKcVL38
-onQGLk4BmEI7fRaGc493KbduNVhXdJ2xkTXCu+Hdj4B495MLzmn5c+6yVl/9Jluw
-ckr44WOlYbsjuj/LtTnpiC54/Pho+a8AFo7YFU/efJp/LqbBc+uFmhUMPdzlv1+U
-F+1/tvH/hrr/8wWPi13qSHkjceh1dT2z8ZWdvmbL5zPeu79flUVWVn+25dGOY8dP
-yzJtAwA=
-=jjlW
------END PGP MESSAGE-----
diff --git a/src/mailman_pgp/pgp/tests/data/inline_signed_corrupted.eml b/src/mailman_pgp/pgp/tests/data/inline_signed_corrupted.eml
deleted file mode 100644
index bd732fc..0000000
--- a/src/mailman_pgp/pgp/tests/data/inline_signed_corrupted.eml
+++ /dev/null
@@ -1,20 +0,0 @@
-To: nobody@example.org
-From: RSA 1024b example
-Subject: Some subject.
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Date: Wed, 21 Jun 2017 13:50:59 +0200
-User-Agent: Mutt/1.7.2 (2016-11-26)
-MIME-Version: 1.0
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 8bit
-
------BEGIN PGP MESSAGE-----
-
-owGbwMvxyMHo/pGHo6JlewTjackShkifww7B+bmpCsWZ6XmpKQolqRUlerxcHadY
-GBk5GEzEFFmurPRoaahKYdoy174YmFZWJpA+MZmi4kRdQwMjkySH1IrE3IKcVL38
-onQGLk4BmEI7fRaGc493KbduNVhXdJ2xkTXCu+fdj4B495MLzmn5c+6yVl/9Jluw
-ckr44WOlYbsjuk/LtTnpiC54/Pho+a8AFo7YFU/efJp/LqbBc+uFmhUMPdzlv1+U
-F+1/tvH/hrr/8wWPi13qSHkjceh1dT2z8ZWdvmbL5zPeu79flUVWVn+25dGOY8dP
-yzJtAwA=
-=jjlW
------END PGP MESSAGE-----
diff --git a/src/mailman_pgp/pgp/tests/data/keys/ecc_p256.priv.asc b/src/mailman_pgp/pgp/tests/data/keys/ecc_p256.priv.asc
new file mode 100644
index 0000000..b591afc
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/keys/ecc_p256.priv.asc
@@ -0,0 +1,16 @@
+-----BEGIN PGP PRIVATE KEY BLOCK-----
+
+lHcEWU7bKhMIKoZIzj0DAQcCAwThGqSLtEwiMpxeYq/Rn2KBsIMFtzyQAbUimhh7
+zZLIHCCEkkCmgspsm6/PyKD7KKVXQdBQ8plxp0xIFRRdoPkvAAEA3zdhVq93r9E2
+u7rFDI0GVezCrCMTvkIMvbPsYfLr5fkR7LQsRUNDIFAtMjU2ICYgRUNDIFAtMjU2
+IDxFQ0MtUDI1NkBleGFtcGxlLm9yZz6IkAQTEwgAOBYhBLIosOb7llWGWt/SPTeT
+cgW+FajQBQJZTtsqAhsDBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEDeTcgW+
+FajQNqABAKnhpvhIYcX3QToj7HQa7z9VCxTS3QXqOAlxSbEbC9u2AP9hshbxfCGn
+O4WzpbKcMW+MUvmpRgV0pY4Kehzvsu8hnJx7BFlO2yoSCCqGSM49AwEHAgMEo11V
+G86zoOvLvYVGeINItew+c/F7UoUZkeOJIZvm83R1ER+JcS3LZwUZ4w7DRGk9Bva8
+NY3z621LgE4i6XJNlAMBCAcAAQCcPgYOAAp3urADU2wB2lhW6dUPZYhpW3qybyZl
+Bi46JwteiHgEGBMIACAWIQSyKLDm+5ZVhlrf0j03k3IFvhWo0AUCWU7bKgIbDAAK
+CRA3k3IFvhWo0AQcAQDLqKJVuLrlsqg6JokkV70/D2HtzZlul8HZMEAPIAb+nwD/
+Q35vBQhHf1ALWu8RdTXCQnWyjUJO03NHMpfF69XRH0o=
+=rOnV
+-----END PGP PRIVATE KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/keys/ecc_p256.pub.asc b/src/mailman_pgp/pgp/tests/data/keys/ecc_p256.pub.asc
new file mode 100644
index 0000000..92cafc7
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/keys/ecc_p256.pub.asc
@@ -0,0 +1,15 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mFIEWU7bKhMIKoZIzj0DAQcCAwThGqSLtEwiMpxeYq/Rn2KBsIMFtzyQAbUimhh7
+zZLIHCCEkkCmgspsm6/PyKD7KKVXQdBQ8plxp0xIFRRdoPkvtCxFQ0MgUC0yNTYg
+JiBFQ0MgUC0yNTYgPEVDQy1QMjU2QGV4YW1wbGUub3JnPoiQBBMTCAA4FiEEsiiw
+5vuWVYZa39I9N5NyBb4VqNAFAllO2yoCGwMFCwkIBwIGFQgJCgsCBBYCAwECHgEC
+F4AACgkQN5NyBb4VqNA2oAEAqeGm+EhhxfdBOiPsdBrvP1ULFNLdBeo4CXFJsRsL
+27YA/2GyFvF8Iac7hbOlspwxb4xS+alGBXSljgp6HO+y7yGcuFYEWU7bKhIIKoZI
+zj0DAQcCAwSjXVUbzrOg68u9hUZ4g0i17D5z8XtShRmR44khm+bzdHURH4lxLctn
+BRnjDsNEaT0G9rw1jfPrbUuATiLpck2UAwEIB4h4BBgTCAAgFiEEsiiw5vuWVYZa
+39I9N5NyBb4VqNAFAllO2yoCGwwACgkQN5NyBb4VqNAEHAEAy6iiVbi65bKoOiaJ
+JFe9Pw9h7c2ZbpfB2TBADyAG/p8A/0N+bwUIR39QC1rvEXU1wkJ1so1CTtNzRzKX
+xevV0R9K
+=64hS
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/keys/rsa_1024.priv.asc b/src/mailman_pgp/pgp/tests/data/keys/rsa_1024.priv.asc
new file mode 100644
index 0000000..e8f4c12
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/keys/rsa_1024.priv.asc
@@ -0,0 +1,33 @@
+-----BEGIN PGP PRIVATE KEY BLOCK-----
+
+lQHYBFlKWqQBBADY8dCIub6x4tcFS3SmWW1r5ctwldFixkLz8LpBdgpc+zt7iWZI
+XvVWH9GYgTzgE+qEAVJcvQDG7/cX6zTopkkGEUmnwBgEFpc7Xi0D+/GYC23XleQk
+IF/R2Mf0AW3FBx/UxK0kIkYfTelkuZBrag83iLh3yKXkcLm1T010eGbTWQARAQAB
+AAP/ayABKrqZrQpHxfAMEmZ/TzPCIP6BzeX7wqxAtLlehapzJV3kGWF2gQgmPcm3
+byi2eWeTrYKQwytUVsXIswcFcCY1Fv6NkntMSqc6VJzGhvjKE9CTNJmgSjHlILMW
+Ma/9TzhxH2DT9tNMgOEN3+FoKRqjlLrhO/OiXqYZJdkXU+8CAOQin6DGnn+qvjlN
+5zw1GIpmWBt9b1S/WEqKaG1t4D/V0m0pAJBqeUbSC6MonQLA9pmIK/LbetUKRwM/
+xLNRMs8CAPNxR4NY73YIfSnlGRPdZHmOq4wMtqXYtoN1qZruHcXsrojcKHV72n8y
+Hb3R+LEKVjky95RKeKGowousIhGYQVcCAKsWtTWQA/VMW2V+ydzFHZHN0xwC9eTc
+uhs7G1qAqJR2POCq/0Cr3W4nXnbYSAr9wHal/YUuIKr54vNbPlXp6xqf/rQpUlNB
+IDEwMjRiIGV4YW1wbGUgPFJTQS0xMDI0YkBleGFtcGxlLm9yZz6IzgQTAQgAOBYh
+BNSpSIaxyiCWpkWOXEfxDAh4hLdYBQJZSlqkAhsDBQsJCAcCBhUICQoLAgQWAgMB
+Ah4BAheAAAoJEEfxDAh4hLdYbQIEALBwJUxkBGJYlP5kOZYAgQHw6+rwIgdXAoPk
+ldwcGPhvlBEocRYx+5KUYrx7W352dv+AgxSZ590JL7JGvWJDvMxoZGCJiRvJ7+Ve
+luKRH167wT8H4hxftBJqzorTU4eyPzG8bFneuag5dw+81DdngXjWRCorEHEdaQjc
+sfvVEmnhnQHYBFlKWqQBBADXLjeg+K0ZAuchhNkvMnfb8TlKoc1t1lH94unoqoj3
+L5Srf3XSo1fmuEBNr1nc5BLyH0tPDJZyuVCypfY4en9uaGvWO0U4t/OUiIWqPjBm
+XbjZWDdGKksb0cQNy13cvE57EmirbuVcXCE0OdU8lcbopN2wnecKOxLKK9PaLBZ6
+9wARAQABAAP+NyRiYA9p+GdciKPtLiGeQpA6EMyPAs8x2sB8FcIh8EpSrHIw5OYz
+/+2GmQHPIwKVclOfrmW45jRkICvUgZuurMmMrnDu63UT/9Pm+4EiUkPFnKfAgYFm
+XwWf2SklsoHCFT2WQ31WCp/hZxWucYqfPM/5ZsE+EAToK+C8BnMicI0CAOAUhruY
+JVh/7u6ES7xI6Hd7yHmU6rLr7oP2Z8cILirt5+1FgOP/qPdVEK9UGShbBcjfA+8W
+u4LISyuvCm8vuyMCAPXVJmTdmJjzBvP7BZe+HbDzWfhPCN+BvepGi3DQdHonLU2t
+IVOcMQsu0raaLevZ19nCKeMrOoAaIhCdjJUBGB0B/iSErQY+sNUAbjsW0zWovY2u
+e+0TBMDkO3OZCFKxCr/7mEuIfsAENXvDwAmx/YDklMwN8zgUAc5BqObGtRE7BYSg
+n4i2BBgBCAAgFiEE1KlIhrHKIJamRY5cR/EMCHiEt1gFAllKWqQCGwwACgkQR/EM
+CHiEt1gOwQP7BuyH2oKuWPAXcVrJdl3P3fIqvm4JzKRjXCVA9j5QOdihH1W5rZFC
+x3J+bUvKa1QJ1NuHoU9gYvR2NPs+CpMlTJ2wg7ksgtddlC9lsVi1ijvjJCugveBh
+a/CQJt7Cl6uDkifPsD5kxyUTecmnVfYZB6Fb/nrZxJ5Cb1dKPGixDpw=
+=e2xw
+-----END PGP PRIVATE KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/keys/rsa_1024.pub.asc b/src/mailman_pgp/pgp/tests/data/keys/rsa_1024.pub.asc
new file mode 100644
index 0000000..5bc0d34
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/keys/rsa_1024.pub.asc
@@ -0,0 +1,20 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mI0EWUpapAEEANjx0Ii5vrHi1wVLdKZZbWvly3CV0WLGQvPwukF2Clz7O3uJZkhe
+9VYf0ZiBPOAT6oQBUly9AMbv9xfrNOimSQYRSafAGAQWlzteLQP78ZgLbdeV5CQg
+X9HYx/QBbcUHH9TErSQiRh9N6WS5kGtqDzeIuHfIpeRwubVPTXR4ZtNZABEBAAG0
+KVJTQSAxMDI0YiBleGFtcGxlIDxSU0EtMTAyNGJAZXhhbXBsZS5vcmc+iM4EEwEI
+ADgWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIbAwULCQgHAgYVCAkKCwIE
+FgIDAQIeAQIXgAAKCRBH8QwIeIS3WG0CBACwcCVMZARiWJT+ZDmWAIEB8Ovq8CIH
+VwKD5JXcHBj4b5QRKHEWMfuSlGK8e1t+dnb/gIMUmefdCS+yRr1iQ7zMaGRgiYkb
+ye/lXpbikR9eu8E/B+IcX7QSas6K01OHsj8xvGxZ3rmoOXcPvNQ3Z4F41kQqKxBx
+HWkI3LH71RJp4biNBFlKWqQBBADXLjeg+K0ZAuchhNkvMnfb8TlKoc1t1lH94uno
+qoj3L5Srf3XSo1fmuEBNr1nc5BLyH0tPDJZyuVCypfY4en9uaGvWO0U4t/OUiIWq
+PjBmXbjZWDdGKksb0cQNy13cvE57EmirbuVcXCE0OdU8lcbopN2wnecKOxLKK9Pa
+LBZ69wARAQABiLYEGAEIACAWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIb
+DAAKCRBH8QwIeIS3WA7BA/sG7Ifagq5Y8BdxWsl2Xc/d8iq+bgnMpGNcJUD2PlA5
+2KEfVbmtkULHcn5tS8prVAnU24ehT2Bi9HY0+z4KkyVMnbCDuSyC112UL2WxWLWK
+O+MkK6C94GFr8JAm3sKXq4OSJ8+wPmTHJRN5yadV9hkHoVv+etnEnkJvV0o8aLEO
+nA==
+=4olM
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/messages/clear.eml b/src/mailman_pgp/pgp/tests/data/messages/clear.eml
new file mode 100644
index 0000000..55e35b3
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/clear.eml
@@ -0,0 +1,11 @@
+To: nobody@example.org
+From: RSA 1024b example
+Subject: Some subject.
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Date: Wed, 21 Jun 2017 13:50:59 +0200
+User-Agent: Mutt/1.7.2 (2016-11-26)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+Some cleartext.
diff --git a/src/mailman_pgp/pgp/tests/data/messages/dsa_elgamal_1024.priv.asc b/src/mailman_pgp/pgp/tests/data/messages/dsa_elgamal_1024.priv.asc
new file mode 100644
index 0000000..34ed61d
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/dsa_elgamal_1024.priv.asc
@@ -0,0 +1,26 @@
+-----BEGIN PGP PRIVATE KEY BLOCK-----
+
+lQG7BFlO2csRBACVXwZnBCY9CasnsMhHTsLmE1iHd03SDS+2Kz8AWV5AsttjaO9T
+Y18PlZwfiy+Brw3x09/5tK9sgeFBwSrb137VQ3Tm37sQBLpDfGYL5ghi2/wiApMF
+MHml/UXzU2P9jZMmTHdferxMiNVk/9si0qUUgfXR/KCV/LwJo9L20SIQTwCgk56w
+Fpxgm4Yxy5OshgN71WXaS2kD/3LMp7JSUjVeiP0et8WfaR4O4hzAI0FDFTN+dU/l
+RMxqX7OEAgBf/Jl35jK9JOv4zVkSGJb9zCHr/xeN/mEQYvnn0ZH1nGJ1/yZfJ4zz
+Cmdu7x8IMLVbC5DWQigE3PdSXV0Mc5ynlwuuwyzC6rLzfCab1qERJMwwPLZ0+RJJ
++znBA/9s+1cXE28nNhsR94MufefNP7gmRUysAtWoJ7tHrPJw8w5tmyP0VjDetCp1
+bgjnulkXPnQVKliMxo6M6bc0i47aHT4bTxHoeiHPg4wXAfEoECgLT+LhEqUF0Kzl
+p0JQQskUFxgutOnIsUVQ3ZtFFv+EowcEtP1pel5eK7I7xnL/KgAAn2uJiDSpdUMa
+4fR2XL7Z5yy0ZkIHCn60N0RTQSAxMDI0ICYgRWxHYW1hbCAxMDI0IDxEU0EtRWxH
+YW1hbC0xMDI0YkBleGFtcGxlLm9yZz6IeAQTEQIAOBYhBFHl8YQSvA1Dyd69k8PM
+CgY4QcenBQJZTtnLAhsDBQsJCAcCBhUICQoLAgQWAgMBAh4BAheAAAoJEMPMCgY4
+QcenNxMAnR2umA2PPnWsj1+qFXC48CytVSphAJ9cyTZzRlvXUekPTrDhL+hAsxvP
+j50BMgRZTtnLEAQAnnjkCf4X2hsJuXXkEk7XMHh489XiVH6QLVdWGdoIOngWPQV9
+RHhyLYeJ6s4+ir4Jl7syG1wWrPnGftAZ6NpWDDEwTzRRsdvolkgaWA/ITQhfA50r
+Lu/tUjYDb8K7iw61UaxwDdEBmZbBf06mup6l5vUQ4cJG4YAH3TctLhiqO0MAAwUD
+/3NtgV6aXlHDHcHuyz4iTNwxgZITwYcXFaVdglbBP49IDU0184vuXdd81tpy8sjU
+6kotXX0o3I0p1G+1Su2RsYQ5S7PQhOGkaS6UtzMGMI/hvVtvrTChkP0uX2Q9FUF2
+kIgCnNewOamjsrol9JBzt/rr9qDF0B5YMZriI9gS2JvgAAD5AZnxfwraRmuXUhYX
+ZA+cdRYj7j3b4vjDWYWCaJfGryYQCIhgBBgRAgAgFiEEUeXxhBK8DUPJ3r2Tw8wK
+BjhBx6cFAllO2csCGwwACgkQw8wKBjhBx6cAAQCbBfP32czelOrJKJ+62wrGIkxg
+UIkAniXeyeJZEU3CPDns/d2MZn4iVEwY
+=Dzmm
+-----END PGP PRIVATE KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/messages/dsa_elgamal_1024.pub.asc b/src/mailman_pgp/pgp/tests/data/messages/dsa_elgamal_1024.pub.asc
new file mode 100644
index 0000000..51625d9
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/dsa_elgamal_1024.pub.asc
@@ -0,0 +1,25 @@
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mQGiBFlO2csRBACVXwZnBCY9CasnsMhHTsLmE1iHd03SDS+2Kz8AWV5AsttjaO9T
+Y18PlZwfiy+Brw3x09/5tK9sgeFBwSrb137VQ3Tm37sQBLpDfGYL5ghi2/wiApMF
+MHml/UXzU2P9jZMmTHdferxMiNVk/9si0qUUgfXR/KCV/LwJo9L20SIQTwCgk56w
+Fpxgm4Yxy5OshgN71WXaS2kD/3LMp7JSUjVeiP0et8WfaR4O4hzAI0FDFTN+dU/l
+RMxqX7OEAgBf/Jl35jK9JOv4zVkSGJb9zCHr/xeN/mEQYvnn0ZH1nGJ1/yZfJ4zz
+Cmdu7x8IMLVbC5DWQigE3PdSXV0Mc5ynlwuuwyzC6rLzfCab1qERJMwwPLZ0+RJJ
++znBA/9s+1cXE28nNhsR94MufefNP7gmRUysAtWoJ7tHrPJw8w5tmyP0VjDetCp1
+bgjnulkXPnQVKliMxo6M6bc0i47aHT4bTxHoeiHPg4wXAfEoECgLT+LhEqUF0Kzl
+p0JQQskUFxgutOnIsUVQ3ZtFFv+EowcEtP1pel5eK7I7xnL/KrQ3RFNBIDEwMjQg
+JiBFbEdhbWFsIDEwMjQgPERTQS1FbEdhbWFsLTEwMjRiQGV4YW1wbGUub3JnPoh4
+BBMRAgA4FiEEUeXxhBK8DUPJ3r2Tw8wKBjhBx6cFAllO2csCGwMFCwkIBwIGFQgJ
+CgsCBBYCAwECHgECF4AACgkQw8wKBjhBx6c3EwCdHa6YDY8+dayPX6oVcLjwLK1V
+KmEAn1zJNnNGW9dR6Q9OsOEv6ECzG8+PuQENBFlO2csQBACeeOQJ/hfaGwm5deQS
+TtcweHjz1eJUfpAtV1YZ2gg6eBY9BX1EeHIth4nqzj6KvgmXuzIbXBas+cZ+0Bno
+2lYMMTBPNFGx2+iWSBpYD8hNCF8DnSsu7+1SNgNvwruLDrVRrHAN0QGZlsF/Tqa6
+nqXm9RDhwkbhgAfdNy0uGKo7QwADBQP/c22BXppeUcMdwe7LPiJM3DGBkhPBhxcV
+pV2CVsE/j0gNTTXzi+5d13zW2nLyyNTqSi1dfSjcjSnUb7VK7ZGxhDlLs9CE4aRp
+LpS3MwYwj+G9W2+tMKGQ/S5fZD0VQXaQiAKc17A5qaOyuiX0kHO3+uv2oMXQHlgx
+muIj2BLYm+CIYAQYEQIAIBYhBFHl8YQSvA1Dyd69k8PMCgY4QcenBQJZTtnLAhsM
+AAoJEMPMCgY4QcenAAEAmwXz99nM3pTqySifutsKxiJMYFCJAJ4l3sniWRFNwjw5
+7P3djGZ+IlRMGA==
+=Waxz
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/messages/inline_cleartext_signed.eml b/src/mailman_pgp/pgp/tests/data/messages/inline_cleartext_signed.eml
new file mode 100644
index 0000000..cb6d40c
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/inline_cleartext_signed.eml
@@ -0,0 +1,24 @@
+To: nobody@example.org
+From: RSA 1024b example
+Subject: Some subject.
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Date: Wed, 21 Jun 2017 13:50:59 +0200
+User-Agent: Mutt/1.7.2 (2016-11-26)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+Some signed text.
+
+-----BEGIN PGP SIGNATURE-----
+
+iMoEAQEIADQWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUqdqRYccnNhLTEwMjRi
+QGV4YW1wbGUub3JnAAoJEEfxDAh4hLdYyRsEANGjr5E3Th1n6EUQEye4YBjlOFq6
+aiiSu+4K4O08yHQ5h1vqBkT2gCmcPpQOThNBRazdSYRvIPNLTyMy6ChhaeWzsmR0
+CIN/YYUC9mAh5XOF+tjaJTSlmBBhuJmayW1D8qysZVg3TmD+fXw+JImrhZW/g0Fi
+4B1oU+uBh6VAZZjJ
+=QecT
+-----END PGP SIGNATURE-----
diff --git a/src/mailman_pgp/pgp/tests/data/messages/inline_cleartext_signed_invalid.eml b/src/mailman_pgp/pgp/tests/data/messages/inline_cleartext_signed_invalid.eml
new file mode 100644
index 0000000..c7d9b03
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/inline_cleartext_signed_invalid.eml
@@ -0,0 +1,24 @@
+To: nobody@example.org
+From: RSA 1024b example
+Subject: Some subject.
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Date: Wed, 21 Jun 2017 13:50:59 +0200
+User-Agent: Mutt/1.7.2 (2016-11-26)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+-----BEGIN PGP SIGNED MESSAGE-----
+Hash: SHA256
+
+Some signed text. With some INVALID text added!!
+
+-----BEGIN PGP SIGNATURE-----
+
+iMoEAQEIADQWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUqdqRYccnNhLTEwMjRi
+QGV4YW1wbGUub3JnAAoJEEfxDAh4hLdYyRsEANGjr5E3Th1n6EUQEye4YBjlOFq6
+aiiSu+4K4O08yHQ5h1vqBkT2gCmcPpQOThNBRazdSYRvIPNLTyMy6ChhaeWzsmR0
+CIN/YYUC9mAh5XOF+tjaJTSlmBBhuJmayW1D8qysZVg3TmD+fXw+JImrhZW/g0Fi
+4B1oU+uBh6VAZZjJ
+=QecT
+-----END PGP SIGNATURE-----
diff --git a/src/mailman_pgp/pgp/tests/data/messages/inline_encrypted.eml b/src/mailman_pgp/pgp/tests/data/messages/inline_encrypted.eml
new file mode 100644
index 0000000..1c75042
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/inline_encrypted.eml
@@ -0,0 +1,19 @@
+To: nobody@example.org
+From: RSA 1024b example
+Subject: Some subject.
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Date: Wed, 21 Jun 2017 13:50:59 +0200
+User-Agent: Mutt/1.7.2 (2016-11-26)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+-----BEGIN PGP MESSAGE-----
+
+hIwD9aW4UkhFqMoBA/9MpeKT7jjrQGIDTH+3Hj5pzIwOsoYLeCETXkgWcACfozUh
+bK5IP7W76jO2MPG/PQsa1cP0x25nH4kdYmsa4dzY+gWNfedspT2qGZvAM+zZ12nm
+mTr+DmnAMgKIg95CPkAth8bIQUm4i0HGj3j0TjY/I9CSdxJu7twsf3E38yqpJtJR
+AW2qZQM7waSpGjoSGhxS4mtFCjNRz7N6hXiG8DfuDdEUodXeGYTHuEU516W+Vv9f
+LpjD8AZOm+L6QDpZ0pf7grIh3kQXx7OvyaLliy+OMxXq
+=prUG
+-----END PGP MESSAGE-----
diff --git a/src/mailman_pgp/pgp/tests/data/messages/inline_privkey.eml b/src/mailman_pgp/pgp/tests/data/messages/inline_privkey.eml
new file mode 100644
index 0000000..683efdd
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/inline_privkey.eml
@@ -0,0 +1,43 @@
+To: nobody@example.org
+From: RSA 1024b example
+Subject: Some subject.
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Date: Wed, 21 Jun 2017 13:50:59 +0200
+User-Agent: Mutt/1.7.2 (2016-11-26)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+-----BEGIN PGP PRIVATE KEY BLOCK-----
+
+lQHYBFlKWqQBBADY8dCIub6x4tcFS3SmWW1r5ctwldFixkLz8LpBdgpc+zt7iWZI
+XvVWH9GYgTzgE+qEAVJcvQDG7/cX6zTopkkGEUmnwBgEFpc7Xi0D+/GYC23XleQk
+IF/R2Mf0AW3FBx/UxK0kIkYfTelkuZBrag83iLh3yKXkcLm1T010eGbTWQARAQAB
+AAP/ayABKrqZrQpHxfAMEmZ/TzPCIP6BzeX7wqxAtLlehapzJV3kGWF2gQgmPcm3
+byi2eWeTrYKQwytUVsXIswcFcCY1Fv6NkntMSqc6VJzGhvjKE9CTNJmgSjHlILMW
+Ma/9TzhxH2DT9tNMgOEN3+FoKRqjlLrhO/OiXqYZJdkXU+8CAOQin6DGnn+qvjlN
+5zw1GIpmWBt9b1S/WEqKaG1t4D/V0m0pAJBqeUbSC6MonQLA9pmIK/LbetUKRwM/
+xLNRMs8CAPNxR4NY73YIfSnlGRPdZHmOq4wMtqXYtoN1qZruHcXsrojcKHV72n8y
+Hb3R+LEKVjky95RKeKGowousIhGYQVcCAKsWtTWQA/VMW2V+ydzFHZHN0xwC9eTc
+uhs7G1qAqJR2POCq/0Cr3W4nXnbYSAr9wHal/YUuIKr54vNbPlXp6xqf/rQpUlNB
+IDEwMjRiIGV4YW1wbGUgPFJTQS0xMDI0YkBleGFtcGxlLm9yZz6IzgQTAQgAOBYh
+BNSpSIaxyiCWpkWOXEfxDAh4hLdYBQJZSlqkAhsDBQsJCAcCBhUICQoLAgQWAgMB
+Ah4BAheAAAoJEEfxDAh4hLdYbQIEALBwJUxkBGJYlP5kOZYAgQHw6+rwIgdXAoPk
+ldwcGPhvlBEocRYx+5KUYrx7W352dv+AgxSZ590JL7JGvWJDvMxoZGCJiRvJ7+Ve
+luKRH167wT8H4hxftBJqzorTU4eyPzG8bFneuag5dw+81DdngXjWRCorEHEdaQjc
+sfvVEmnhnQHYBFlKWqQBBADXLjeg+K0ZAuchhNkvMnfb8TlKoc1t1lH94unoqoj3
+L5Srf3XSo1fmuEBNr1nc5BLyH0tPDJZyuVCypfY4en9uaGvWO0U4t/OUiIWqPjBm
+XbjZWDdGKksb0cQNy13cvE57EmirbuVcXCE0OdU8lcbopN2wnecKOxLKK9PaLBZ6
+9wARAQABAAP+NyRiYA9p+GdciKPtLiGeQpA6EMyPAs8x2sB8FcIh8EpSrHIw5OYz
+/+2GmQHPIwKVclOfrmW45jRkICvUgZuurMmMrnDu63UT/9Pm+4EiUkPFnKfAgYFm
+XwWf2SklsoHCFT2WQ31WCp/hZxWucYqfPM/5ZsE+EAToK+C8BnMicI0CAOAUhruY
+JVh/7u6ES7xI6Hd7yHmU6rLr7oP2Z8cILirt5+1FgOP/qPdVEK9UGShbBcjfA+8W
+u4LISyuvCm8vuyMCAPXVJmTdmJjzBvP7BZe+HbDzWfhPCN+BvepGi3DQdHonLU2t
+IVOcMQsu0raaLevZ19nCKeMrOoAaIhCdjJUBGB0B/iSErQY+sNUAbjsW0zWovY2u
+e+0TBMDkO3OZCFKxCr/7mEuIfsAENXvDwAmx/YDklMwN8zgUAc5BqObGtRE7BYSg
+n4i2BBgBCAAgFiEE1KlIhrHKIJamRY5cR/EMCHiEt1gFAllKWqQCGwwACgkQR/EM
+CHiEt1gOwQP7BuyH2oKuWPAXcVrJdl3P3fIqvm4JzKRjXCVA9j5QOdihH1W5rZFC
+x3J+bUvKa1QJ1NuHoU9gYvR2NPs+CpMlTJ2wg7ksgtddlC9lsVi1ijvjJCugveBh
+a/CQJt7Cl6uDkifPsD5kxyUTecmnVfYZB6Fb/nrZxJ5Cb1dKPGixDpw=
+=e2xw
+-----END PGP PRIVATE KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/messages/inline_pubkey.eml b/src/mailman_pgp/pgp/tests/data/messages/inline_pubkey.eml
new file mode 100644
index 0000000..cb0d176
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/inline_pubkey.eml
@@ -0,0 +1,30 @@
+To: nobody@example.org
+From: RSA 1024b example
+Subject: Some subject.
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Date: Wed, 21 Jun 2017 13:50:59 +0200
+User-Agent: Mutt/1.7.2 (2016-11-26)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mI0EWUpapAEEANjx0Ii5vrHi1wVLdKZZbWvly3CV0WLGQvPwukF2Clz7O3uJZkhe
+9VYf0ZiBPOAT6oQBUly9AMbv9xfrNOimSQYRSafAGAQWlzteLQP78ZgLbdeV5CQg
+X9HYx/QBbcUHH9TErSQiRh9N6WS5kGtqDzeIuHfIpeRwubVPTXR4ZtNZABEBAAG0
+KVJTQSAxMDI0YiBleGFtcGxlIDxSU0EtMTAyNGJAZXhhbXBsZS5vcmc+iM4EEwEI
+ADgWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIbAwULCQgHAgYVCAkKCwIE
+FgIDAQIeAQIXgAAKCRBH8QwIeIS3WG0CBACwcCVMZARiWJT+ZDmWAIEB8Ovq8CIH
+VwKD5JXcHBj4b5QRKHEWMfuSlGK8e1t+dnb/gIMUmefdCS+yRr1iQ7zMaGRgiYkb
+ye/lXpbikR9eu8E/B+IcX7QSas6K01OHsj8xvGxZ3rmoOXcPvNQ3Z4F41kQqKxBx
+HWkI3LH71RJp4biNBFlKWqQBBADXLjeg+K0ZAuchhNkvMnfb8TlKoc1t1lH94uno
+qoj3L5Srf3XSo1fmuEBNr1nc5BLyH0tPDJZyuVCypfY4en9uaGvWO0U4t/OUiIWq
+PjBmXbjZWDdGKksb0cQNy13cvE57EmirbuVcXCE0OdU8lcbopN2wnecKOxLKK9Pa
+LBZ69wARAQABiLYEGAEIACAWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIb
+DAAKCRBH8QwIeIS3WA7BA/sG7Ifagq5Y8BdxWsl2Xc/d8iq+bgnMpGNcJUD2PlA5
+2KEfVbmtkULHcn5tS8prVAnU24ehT2Bi9HY0+z4KkyVMnbCDuSyC112UL2WxWLWK
+O+MkK6C94GFr8JAm3sKXq4OSJ8+wPmTHJRN5yadV9hkHoVv+etnEnkJvV0o8aLEO
+nA==
+=4olM
+-----END PGP PUBLIC KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/messages/inline_signed.eml b/src/mailman_pgp/pgp/tests/data/messages/inline_signed.eml
new file mode 100644
index 0000000..f8adc02
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/inline_signed.eml
@@ -0,0 +1,20 @@
+To: nobody@example.org
+From: RSA 1024b example
+Subject: Some subject.
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Date: Wed, 21 Jun 2017 13:50:59 +0200
+User-Agent: Mutt/1.7.2 (2016-11-26)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+-----BEGIN PGP MESSAGE-----
+
+owGbwMvMyMHo/pGHo6JlewTjackShkifww7B+bmpCsWZ6XmpKQolqRUlerxcHadY
+GBk5GEzEFFmurPRo23hKYdoy174YmFZWJpA+MZmi4kRdQwMjkySH1IrE3IKcVL38
+onQGLk4BmEI7fRaGc493KbduNVhXdJ2xkTXCu+Hdj4B495MLzmn5c+6yVl/9Jluw
+ckr44WOlYbsjuj/LtTnpiC54/Pho+a8AFo7YFU/efJp/LqbBc+uFmhUMPdzlv1+U
+F+1/tvH/hrr/8wWPi13qSHkjceh1dT2z8ZWdvmbL5zPeu79flUVWVn+25dGOY8dP
+yzJtAwA=
+=jjlW
+-----END PGP MESSAGE-----
diff --git a/src/mailman_pgp/pgp/tests/data/messages/inline_signed_corrupted.eml b/src/mailman_pgp/pgp/tests/data/messages/inline_signed_corrupted.eml
new file mode 100644
index 0000000..bd732fc
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/inline_signed_corrupted.eml
@@ -0,0 +1,20 @@
+To: nobody@example.org
+From: RSA 1024b example
+Subject: Some subject.
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Date: Wed, 21 Jun 2017 13:50:59 +0200
+User-Agent: Mutt/1.7.2 (2016-11-26)
+MIME-Version: 1.0
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 8bit
+
+-----BEGIN PGP MESSAGE-----
+
+owGbwMvxyMHo/pGHo6JlewTjackShkifww7B+bmpCsWZ6XmpKQolqRUlerxcHadY
+GBk5GEzEFFmurPRoaahKYdoy174YmFZWJpA+MZmi4kRdQwMjkySH1IrE3IKcVL38
+onQGLk4BmEI7fRaGc493KbduNVhXdJ2xkTXCu+fdj4B495MLzmn5c+6yVl/9Jluw
+ckr44WOlYbsjuk/LtTnpiC54/Pho+a8AFo7YFU/efJp/LqbBc+uFmhUMPdzlv1+U
+F+1/tvH/hrr/8wWPi13qSHkjceh1dT2z8ZWdvmbL5zPeu79flUVWVn+25dGOY8dP
+yzJtAwA=
+=jjlW
+-----END PGP MESSAGE-----
diff --git a/src/mailman_pgp/pgp/tests/data/messages/mime_encrypted.eml b/src/mailman_pgp/pgp/tests/data/messages/mime_encrypted.eml
new file mode 100644
index 0000000..3199526
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/mime_encrypted.eml
@@ -0,0 +1,37 @@
+To: nobody@example.org
+From: RSA 1024b example
+Subject: Some subject.
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Date: Wed, 21 Jun 2017 13:50:59 +0200
+User-Agent: Mutt/1.7.2 (2016-11-26)
+MIME-Version: 1.0
+Content-Type: multipart/encrypted; protocol="application/pgp-encrypted";
+ boundary="abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs"
+
+This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
+--abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs
+Content-Type: application/pgp-encrypted
+Content-Description: PGP/MIME version identification
+
+Version: 1
+
+--abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs
+Content-Type: application/octet-stream; name="encrypted.asc"
+Content-Description: OpenPGP encrypted message
+Content-Disposition: inline; filename="encrypted.asc"
+
+-----BEGIN PGP MESSAGE-----
+
+hIwD9aW4UkhFqMoBA/9lJ2392oyF+IISelZ9CWe6/FZJyud9L4DNozXkoRMMCRuD
+T29mRzgWrq2lUaBGk0xDTILoB+sETEZX5SRH7VgOpNA7kJFF4aU9P+Vls95OG0RF
+WFN3l7Ttc7LfZcvXMl3C8JilPh9xbmoKFDcRAgJx8eYitLXuwfoRQZocYjNEUtLA
+XQHNppO34566Eb/b8xFWi+ZMBra+VCE2aX3yOMCO3Gd2NeXy/hQBf8NnSBzhsYOe
+OGzNzT7vyKATvZ7dPbMHS/bbKU8RDfzgEv4QicB02Wjt6N/3ogI5rXSKp5NTVsHJ
+tn83LEWQnLA+75QdppZZoFi8pcmJvcSQFHnlWD5NWnPvC+zsc+4CkrEVecmK8bfX
+2JPmt2fx1eIUqMKsJDss1T32EttrKb7awZMFGfGLiEvXjQ5qvib876cm4JdLZvYB
+C3n27D5n4yfQEkfeTZ4CfFOfY9CRb9meNV+sYI/V2dWWj2Hdbrx3UuMnWfOR44oS
+248jpSsiAQBwjY8JNZDq2GZ7OcpaZuc25Ktv4/by01FjLLuaVmkOzk4NK2AZBg==
+=sSzJ
+-----END PGP MESSAGE-----
+
+--abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs--
\ No newline at end of file
diff --git a/src/mailman_pgp/pgp/tests/data/messages/mime_encrypted_signed.eml b/src/mailman_pgp/pgp/tests/data/messages/mime_encrypted_signed.eml
new file mode 100644
index 0000000..57a6afd
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/mime_encrypted_signed.eml
@@ -0,0 +1,42 @@
+To: nobody@example.org
+From: RSA 1024b example
+Subject: Some subject.
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Date: Wed, 21 Jun 2017 13:50:59 +0200
+User-Agent: Mutt/1.7.2 (2016-11-26)
+MIME-Version: 1.0
+Content-Type: multipart/encrypted; protocol="application/pgp-encrypted";
+ boundary="abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs"
+
+This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
+--abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs
+Content-Type: application/pgp-encrypted
+Content-Description: PGP/MIME version identification
+
+Version: 1
+
+--abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs
+Content-Type: application/octet-stream; name="encrypted.asc"
+Content-Description: OpenPGP encrypted message
+Content-Disposition: inline; filename="encrypted.asc"
+
+-----BEGIN PGP MESSAGE-----
+
+hIwD9aW4UkhFqMoBBACwoGB7sVXIpfsLlkNyVSzoRsXCiD2fs0z8xHiZGWEAR0OB
+vwld+2U1HA+ayegmNA62EQ+D41nhK9Gaq8dC7/yTQT0Kf9jVnzd4K83oiq4zakL4
+BUn9w0gBjCu1GeigXrPIK3v4g+8sdabwmISDEFPmLaFqDCLi01t3/Khe7MrdVdLp
+AY2Tnh4U/jzZtUxBvBItwBGmOBhATxA2Ql+MuvHsvZdn8G8Wbep0DlaujaCdAcI4
+t61uT35u6X69Ab8jnC2eCtCT4fr17zNQH54K2znn5lpRbOVLPCuF85dAX1LoxjuX
+7ZigsV1ksx8MjsJD6QEFMBjBzNzM9wsSgHjKQqgFrRHqMq0tMxGyT9Arm4nx3c5u
+A/L0GsOyCmSPF0YHnpZyN4HIAO7Eg64B6zT52DsTygyXGibv972nGQacXF3SL/Mw
+MBvB2jfaxHpBaKNaRDhz4Y7q0Fsv9mKy6PZt0X38kp17lBuJ5f78Z676MEKBGJiM
+qdmjXz8Av1ByhojbM9vSh7CJONGiDN27sQ7HZbbOiXJqvPJcC1CHfirHUzOBqJXy
+7e1R+cJqoq1I1A21hcbZS8PccbfRtMKIG4fMTezl1Z9NYoThnr0tMSwucNIR1RyA
+MGMDsEJe0KeWKPnGeErEDm7ypekCLOEcpPcvyT/VumkFXOdUwz+gRz6b179aQGJu
+oOVin/fFKL2ZXIGDGL0aHF6ICmPRS45i0qhNVRuXgN8P5ThLYwXYVx1veOIco29I
+IO038WTH4ddPauIpklAyPKTV5hGtlh+SRUSGZpfwqJcHyqi1MrkGv0wQj183QgHX
+nDTM6AVZfv49FceJVLyOMZsHujo3C3TU/PqYa4/sHoUBgw==
+=rZHH
+-----END PGP MESSAGE-----
+
+--abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs--
\ No newline at end of file
diff --git a/src/mailman_pgp/pgp/tests/data/messages/mime_encrypted_then_signed.eml b/src/mailman_pgp/pgp/tests/data/messages/mime_encrypted_then_signed.eml
new file mode 100644
index 0000000..2a350ab
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/mime_encrypted_then_signed.eml
@@ -0,0 +1,50 @@
+To: nobody@example.org
+From: RSA 1024b example
+Subject: Some subject.
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Date: Wed, 21 Jun 2017 13:50:59 +0200
+User-Agent: Mutt/1.7.2 (2016-11-26)
+MIME-Version: 1.0
+Content-Type: multipart/encrypted; protocol="application/pgp-encrypted";
+ boundary="abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs"
+
+This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
+--abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs
+Content-Type: application/pgp-encrypted
+Content-Description: PGP/MIME version identification
+
+Version: 1
+
+--abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs
+Content-Type: application/octet-stream; name="encrypted.asc"
+Content-Description: OpenPGP encrypted message
+Content-Disposition: inline; filename="encrypted.asc"
+
+-----BEGIN PGP MESSAGE-----
+
+hIwD9aW4UkhFqMoBA/9QSX57wRXFQ21pc92xOHeOPJSt/rv1dK2EowZnNuMQyIrR
+uYXn0B5KxAHoSQRqEX+rs7HJDMDNd1QKouc45PZwuI/ZGF3jBA0P2fWni3gNeWOR
+T/jeuvomGe+pXOGq8IsJfq7ks/pA5nmcgKEPjjlHkD8hNjFmgyWc5Fv38MBgStLp
+AWk/tCOTfSR+64sETL7+42+kCAKigwQOBikvT7UaZ+3lI1IRNuPd4ndvoL1NxiaG
+kAV6DRwQMV8uSj4NefXyIBz47T0IzRCHMVKInkkGibjIxeUBUxJfG1ZbBtNXTTOJ
+sGr5Kvsj+47bt6m+ExmgeumVjyvbcBESw41WwKsIdxxc7PenfLfQY0dnLvPEfNAC
+cKyUn1Nr8jqiKd2NBy4RxINmWZ8u1SUeYNpO6UqtvKU3kgNfpezW1gpdNM2UYFeV
+8Hy8ksQJGz1qcGf9Id0bBld+uno6N9PAKEslIYOlwEqX3LntrtzSg5kv+blOBQlD
+zrYH3Nwp2IcFJjxZgLqfn1CpG3fVvocosEnagDrLEAoly7vVL0ZExFVSye7oLfw/
+NFHHujU9SXqplHzSJwnJrgyA38xEjvJrWS+jbFKOLdUMWE/cu4lOQSBlL5ObBgUq
+PIn17BUyTglU7A5XbOS3X/VEYoQglFXWz8oPb1urxUnwlJKRwt4bDHgZmlAzUP82
+cuA3ZCEXgE8qvYGZuXN0KQ4FBJbTsyPR+p6wHPPR/iyyozuP4G5oBww8Ed4locCn
+AsCL8XNK5ceL9qkh6gFPb+z/Bvh7ODBawayaaqjkK8pYjR4TE+CcV8fizZ1EATZR
+mgCbJOmMexIlvRjaDDWZ/+TFiVhKtxfXCStQUc1uTxzAqhA1MsFm5afkLk2/c1P3
+VzPXOpNRAm3A4la+3tcP7faqgJ2lDKKBOu/a0L13KPbf/pLSVcyFbGglmrr/u711
+PHYcEAlD1RRjoHKj2E3CBN0d8N+8SCtohtI3BMSG3IVlGQrxNPka4Lron4clJy3m
+8sm2YBFk458OPCcuKsbiWZtKPDIsFsxu6bbLo2jdrWjb2DZO8xKRM0WOChyus45N
+dIyCpEqK6VB3p5rcr3KYm5KFIBeogGxsHWTt5xKjbmG9jVAqzOaSGRVhV+QYcrda
+5eT1cvFUTkUddmq4j6i1d3dtQ6cYpHq8ehdHezcaqN8Wn7pzTauNB9WzeNgynNat
+BMyVvVgmfwa+NCb0s3zO78ysmeYXlayIa2aE0AXE83h8xfQw/zrV52NZ/xT2Sz2u
+AzxUkYEXmU0Utb6B3/AzYwzNpQ3RhnHzfg0/OYtgNQlfgLGlJt5adLdozyoxZY46
+BSIZcJxQUQVSlkMz
+=Q354
+-----END PGP MESSAGE-----
+
+--abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs--
\ No newline at end of file
diff --git a/src/mailman_pgp/pgp/tests/data/messages/mime_privkey.eml b/src/mailman_pgp/pgp/tests/data/messages/mime_privkey.eml
new file mode 100644
index 0000000..da66247
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/mime_privkey.eml
@@ -0,0 +1,59 @@
+To: nobody@example.org
+From: RSA 1024b example
+Subject: Some subject.
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Date: Wed, 21 Jun 2017 13:50:59 +0200
+User-Agent: Mutt/1.7.2 (2016-11-26)
+MIME-Version: 1.0
+Content-Type: multipart/mixed;
+ boundary="------------A851F166D50529639139DD0B"
+
+This is a multi-part message in MIME format.
+--------------A851F166D50529639139DD0B
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 7bit
+
+Some other text.
+
+--------------A851F166D50529639139DD0B
+Content-Type: application/pgp-keys;
+ name="0x7884B758.asc"
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment;
+ filename="0x7884B758.asc"
+
+-----BEGIN PGP PRIVATE KEY BLOCK-----
+
+lQHYBFlKWqQBBADY8dCIub6x4tcFS3SmWW1r5ctwldFixkLz8LpBdgpc+zt7iWZI
+XvVWH9GYgTzgE+qEAVJcvQDG7/cX6zTopkkGEUmnwBgEFpc7Xi0D+/GYC23XleQk
+IF/R2Mf0AW3FBx/UxK0kIkYfTelkuZBrag83iLh3yKXkcLm1T010eGbTWQARAQAB
+AAP/ayABKrqZrQpHxfAMEmZ/TzPCIP6BzeX7wqxAtLlehapzJV3kGWF2gQgmPcm3
+byi2eWeTrYKQwytUVsXIswcFcCY1Fv6NkntMSqc6VJzGhvjKE9CTNJmgSjHlILMW
+Ma/9TzhxH2DT9tNMgOEN3+FoKRqjlLrhO/OiXqYZJdkXU+8CAOQin6DGnn+qvjlN
+5zw1GIpmWBt9b1S/WEqKaG1t4D/V0m0pAJBqeUbSC6MonQLA9pmIK/LbetUKRwM/
+xLNRMs8CAPNxR4NY73YIfSnlGRPdZHmOq4wMtqXYtoN1qZruHcXsrojcKHV72n8y
+Hb3R+LEKVjky95RKeKGowousIhGYQVcCAKsWtTWQA/VMW2V+ydzFHZHN0xwC9eTc
+uhs7G1qAqJR2POCq/0Cr3W4nXnbYSAr9wHal/YUuIKr54vNbPlXp6xqf/rQpUlNB
+IDEwMjRiIGV4YW1wbGUgPFJTQS0xMDI0YkBleGFtcGxlLm9yZz6IzgQTAQgAOBYh
+BNSpSIaxyiCWpkWOXEfxDAh4hLdYBQJZSlqkAhsDBQsJCAcCBhUICQoLAgQWAgMB
+Ah4BAheAAAoJEEfxDAh4hLdYbQIEALBwJUxkBGJYlP5kOZYAgQHw6+rwIgdXAoPk
+ldwcGPhvlBEocRYx+5KUYrx7W352dv+AgxSZ590JL7JGvWJDvMxoZGCJiRvJ7+Ve
+luKRH167wT8H4hxftBJqzorTU4eyPzG8bFneuag5dw+81DdngXjWRCorEHEdaQjc
+sfvVEmnhnQHYBFlKWqQBBADXLjeg+K0ZAuchhNkvMnfb8TlKoc1t1lH94unoqoj3
+L5Srf3XSo1fmuEBNr1nc5BLyH0tPDJZyuVCypfY4en9uaGvWO0U4t/OUiIWqPjBm
+XbjZWDdGKksb0cQNy13cvE57EmirbuVcXCE0OdU8lcbopN2wnecKOxLKK9PaLBZ6
+9wARAQABAAP+NyRiYA9p+GdciKPtLiGeQpA6EMyPAs8x2sB8FcIh8EpSrHIw5OYz
+/+2GmQHPIwKVclOfrmW45jRkICvUgZuurMmMrnDu63UT/9Pm+4EiUkPFnKfAgYFm
+XwWf2SklsoHCFT2WQ31WCp/hZxWucYqfPM/5ZsE+EAToK+C8BnMicI0CAOAUhruY
+JVh/7u6ES7xI6Hd7yHmU6rLr7oP2Z8cILirt5+1FgOP/qPdVEK9UGShbBcjfA+8W
+u4LISyuvCm8vuyMCAPXVJmTdmJjzBvP7BZe+HbDzWfhPCN+BvepGi3DQdHonLU2t
+IVOcMQsu0raaLevZ19nCKeMrOoAaIhCdjJUBGB0B/iSErQY+sNUAbjsW0zWovY2u
+e+0TBMDkO3OZCFKxCr/7mEuIfsAENXvDwAmx/YDklMwN8zgUAc5BqObGtRE7BYSg
+n4i2BBgBCAAgFiEE1KlIhrHKIJamRY5cR/EMCHiEt1gFAllKWqQCGwwACgkQR/EM
+CHiEt1gOwQP7BuyH2oKuWPAXcVrJdl3P3fIqvm4JzKRjXCVA9j5QOdihH1W5rZFC
+x3J+bUvKa1QJ1NuHoU9gYvR2NPs+CpMlTJ2wg7ksgtddlC9lsVi1ijvjJCugveBh
+a/CQJt7Cl6uDkifPsD5kxyUTecmnVfYZB6Fb/nrZxJ5Cb1dKPGixDpw=
+=e2xw
+-----END PGP PRIVATE KEY BLOCK-----
+
+--------------A851F166D50529639139DD0B--
diff --git a/src/mailman_pgp/pgp/tests/data/messages/mime_pubkey.eml b/src/mailman_pgp/pgp/tests/data/messages/mime_pubkey.eml
new file mode 100644
index 0000000..1495a41
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/mime_pubkey.eml
@@ -0,0 +1,46 @@
+To: nobody@example.org
+From: RSA 1024b example
+Subject: Some subject.
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Date: Wed, 21 Jun 2017 13:50:59 +0200
+User-Agent: Mutt/1.7.2 (2016-11-26)
+MIME-Version: 1.0
+Content-Type: multipart/mixed;
+ boundary="------------A851F166D50529639139DD0B"
+
+This is a multi-part message in MIME format.
+--------------A851F166D50529639139DD0B
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: 7bit
+
+Some other text.
+
+--------------A851F166D50529639139DD0B
+Content-Type: application/pgp-keys;
+ name="0x7884B758.asc"
+Content-Transfer-Encoding: 7bit
+Content-Disposition: attachment;
+ filename="0x7884B758.asc"
+
+-----BEGIN PGP PUBLIC KEY BLOCK-----
+
+mI0EWUpapAEEANjx0Ii5vrHi1wVLdKZZbWvly3CV0WLGQvPwukF2Clz7O3uJZkhe
+9VYf0ZiBPOAT6oQBUly9AMbv9xfrNOimSQYRSafAGAQWlzteLQP78ZgLbdeV5CQg
+X9HYx/QBbcUHH9TErSQiRh9N6WS5kGtqDzeIuHfIpeRwubVPTXR4ZtNZABEBAAG0
+KVJTQSAxMDI0YiBleGFtcGxlIDxSU0EtMTAyNGJAZXhhbXBsZS5vcmc+iM4EEwEI
+ADgWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIbAwULCQgHAgYVCAkKCwIE
+FgIDAQIeAQIXgAAKCRBH8QwIeIS3WG0CBACwcCVMZARiWJT+ZDmWAIEB8Ovq8CIH
+VwKD5JXcHBj4b5QRKHEWMfuSlGK8e1t+dnb/gIMUmefdCS+yRr1iQ7zMaGRgiYkb
+ye/lXpbikR9eu8E/B+IcX7QSas6K01OHsj8xvGxZ3rmoOXcPvNQ3Z4F41kQqKxBx
+HWkI3LH71RJp4biNBFlKWqQBBADXLjeg+K0ZAuchhNkvMnfb8TlKoc1t1lH94uno
+qoj3L5Srf3XSo1fmuEBNr1nc5BLyH0tPDJZyuVCypfY4en9uaGvWO0U4t/OUiIWq
+PjBmXbjZWDdGKksb0cQNy13cvE57EmirbuVcXCE0OdU8lcbopN2wnecKOxLKK9Pa
+LBZ69wARAQABiLYEGAEIACAWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIb
+DAAKCRBH8QwIeIS3WA7BA/sG7Ifagq5Y8BdxWsl2Xc/d8iq+bgnMpGNcJUD2PlA5
+2KEfVbmtkULHcn5tS8prVAnU24ehT2Bi9HY0+z4KkyVMnbCDuSyC112UL2WxWLWK
+O+MkK6C94GFr8JAm3sKXq4OSJ8+wPmTHJRN5yadV9hkHoVv+etnEnkJvV0o8aLEO
+nA==
+=4olM
+-----END PGP PUBLIC KEY BLOCK-----
+
+--------------A851F166D50529639139DD0B--
diff --git a/src/mailman_pgp/pgp/tests/data/messages/mime_signed.eml b/src/mailman_pgp/pgp/tests/data/messages/mime_signed.eml
new file mode 100644
index 0000000..c81ecf5
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/mime_signed.eml
@@ -0,0 +1,45 @@
+To: nobody@example.org
+From: RSA 1024b example
+Subject: Some subject.
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Date: Wed, 21 Jun 2017 13:50:59 +0200
+User-Agent: Mutt/1.7.2 (2016-11-26)
+MIME-Version: 1.0
+Content-Type: multipart/signed; micalg=pgp-sha256;
+ protocol="application/pgp-signature";
+ boundary="haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj"
+
+This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
+--haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj
+Content-Type: multipart/mixed; boundary="A8WMQ249PdQmpiQhW1ELOnL2UctI16T1g";
+ protected-headers="v1"
+From: RSA 1024b example
+To: nobody@example.org
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Subject: Some subject.
+
+--A8WMQ249PdQmpiQhW1ELOnL2UctI16T1g
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: quoted-printable
+
+Some signed text.
+
+
+--A8WMQ249PdQmpiQhW1ELOnL2UctI16T1g--
+
+--haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj
+Content-Type: application/pgp-signature; name="signature.asc"
+Content-Description: OpenPGP digital signature
+Content-Disposition: attachment; filename="signature.asc"
+
+-----BEGIN PGP SIGNATURE-----
+
+iMoEAQEIADQWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpjIBYccnNhLTEwMjRi
+QGV4YW1wbGUub3JnAAoJEEfxDAh4hLdYb8wD/0AlaGxAhVGQqrXBuVXSDm4c49VI
+6+DG8cMOCZEin6P96hrLbs4SAm61xivJHPueIRRQ1PfWTcElPn97WuQ48e+/5hhw
+CZevF5CmyODGfriC78LwLRRvq2nF5n9iRww0lINPDyqrBr3mdY8QG+s8qBkTi7IG
+dBBQH0jA6p2OJV72
+=1tln
+-----END PGP SIGNATURE-----
+
+--haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj--
diff --git a/src/mailman_pgp/pgp/tests/data/messages/mime_signed_invalid.eml b/src/mailman_pgp/pgp/tests/data/messages/mime_signed_invalid.eml
new file mode 100644
index 0000000..5e86842
--- /dev/null
+++ b/src/mailman_pgp/pgp/tests/data/messages/mime_signed_invalid.eml
@@ -0,0 +1,45 @@
+To: nobody@example.org
+From: RSA 1024b example
+Subject: Some subject.
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Date: Wed, 21 Jun 2017 13:50:59 +0200
+User-Agent: Mutt/1.7.2 (2016-11-26)
+MIME-Version: 1.0
+Content-Type: multipart/signed; micalg=pgp-sha256;
+ protocol="application/pgp-signature";
+ boundary="haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj"
+
+This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
+--haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj
+Content-Type: multipart/mixed; boundary="A8WMQ249PdQmpiQhW1ELOnL2UctI16T1g";
+ protected-headers="v1"
+From: RSA 1024b example
+To: nobody@example.org
+Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
+Subject: Some subject.
+
+--A8WMQ249PdQmpiQhW1ELOnL2UctI16T1g
+Content-Type: text/plain; charset=utf-8
+Content-Transfer-Encoding: quoted-printable
+
+Some signed text. With some INVALID text added!!
+
+
+--A8WMQ249PdQmpiQhW1ELOnL2UctI16T1g--
+
+--haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj
+Content-Type: application/pgp-signature; name="signature.asc"
+Content-Description: OpenPGP digital signature
+Content-Disposition: attachment; filename="signature.asc"
+
+-----BEGIN PGP SIGNATURE-----
+
+iMoEAQEIADQWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpjIBYccnNhLTEwMjRi
+QGV4YW1wbGUub3JnAAoJEEfxDAh4hLdYb8wD/0AlaGxAhVGQqrXBuVXSDm4c49VI
+6+DG8cMOCZEin6P96hrLbs4SAm61xivJHPueIRRQ1PfWTcElPn97WuQ48e+/5hhw
+CZevF5CmyODGfriC78LwLRRvq2nF5n9iRww0lINPDyqrBr3mdY8QG+s8qBkTi7IG
+dBBQH0jA6p2OJV72
+=1tln
+-----END PGP SIGNATURE-----
+
+--haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj--
diff --git a/src/mailman_pgp/pgp/tests/data/mime_encrypted.eml b/src/mailman_pgp/pgp/tests/data/mime_encrypted.eml
deleted file mode 100644
index 3199526..0000000
--- a/src/mailman_pgp/pgp/tests/data/mime_encrypted.eml
+++ /dev/null
@@ -1,37 +0,0 @@
-To: nobody@example.org
-From: RSA 1024b example
-Subject: Some subject.
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Date: Wed, 21 Jun 2017 13:50:59 +0200
-User-Agent: Mutt/1.7.2 (2016-11-26)
-MIME-Version: 1.0
-Content-Type: multipart/encrypted; protocol="application/pgp-encrypted";
- boundary="abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs"
-
-This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
---abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs
-Content-Type: application/pgp-encrypted
-Content-Description: PGP/MIME version identification
-
-Version: 1
-
---abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs
-Content-Type: application/octet-stream; name="encrypted.asc"
-Content-Description: OpenPGP encrypted message
-Content-Disposition: inline; filename="encrypted.asc"
-
------BEGIN PGP MESSAGE-----
-
-hIwD9aW4UkhFqMoBA/9lJ2392oyF+IISelZ9CWe6/FZJyud9L4DNozXkoRMMCRuD
-T29mRzgWrq2lUaBGk0xDTILoB+sETEZX5SRH7VgOpNA7kJFF4aU9P+Vls95OG0RF
-WFN3l7Ttc7LfZcvXMl3C8JilPh9xbmoKFDcRAgJx8eYitLXuwfoRQZocYjNEUtLA
-XQHNppO34566Eb/b8xFWi+ZMBra+VCE2aX3yOMCO3Gd2NeXy/hQBf8NnSBzhsYOe
-OGzNzT7vyKATvZ7dPbMHS/bbKU8RDfzgEv4QicB02Wjt6N/3ogI5rXSKp5NTVsHJ
-tn83LEWQnLA+75QdppZZoFi8pcmJvcSQFHnlWD5NWnPvC+zsc+4CkrEVecmK8bfX
-2JPmt2fx1eIUqMKsJDss1T32EttrKb7awZMFGfGLiEvXjQ5qvib876cm4JdLZvYB
-C3n27D5n4yfQEkfeTZ4CfFOfY9CRb9meNV+sYI/V2dWWj2Hdbrx3UuMnWfOR44oS
-248jpSsiAQBwjY8JNZDq2GZ7OcpaZuc25Ktv4/by01FjLLuaVmkOzk4NK2AZBg==
-=sSzJ
------END PGP MESSAGE-----
-
---abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs--
\ No newline at end of file
diff --git a/src/mailman_pgp/pgp/tests/data/mime_encrypted_signed.eml b/src/mailman_pgp/pgp/tests/data/mime_encrypted_signed.eml
deleted file mode 100644
index 57a6afd..0000000
--- a/src/mailman_pgp/pgp/tests/data/mime_encrypted_signed.eml
+++ /dev/null
@@ -1,42 +0,0 @@
-To: nobody@example.org
-From: RSA 1024b example
-Subject: Some subject.
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Date: Wed, 21 Jun 2017 13:50:59 +0200
-User-Agent: Mutt/1.7.2 (2016-11-26)
-MIME-Version: 1.0
-Content-Type: multipart/encrypted; protocol="application/pgp-encrypted";
- boundary="abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs"
-
-This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
---abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs
-Content-Type: application/pgp-encrypted
-Content-Description: PGP/MIME version identification
-
-Version: 1
-
---abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs
-Content-Type: application/octet-stream; name="encrypted.asc"
-Content-Description: OpenPGP encrypted message
-Content-Disposition: inline; filename="encrypted.asc"
-
------BEGIN PGP MESSAGE-----
-
-hIwD9aW4UkhFqMoBBACwoGB7sVXIpfsLlkNyVSzoRsXCiD2fs0z8xHiZGWEAR0OB
-vwld+2U1HA+ayegmNA62EQ+D41nhK9Gaq8dC7/yTQT0Kf9jVnzd4K83oiq4zakL4
-BUn9w0gBjCu1GeigXrPIK3v4g+8sdabwmISDEFPmLaFqDCLi01t3/Khe7MrdVdLp
-AY2Tnh4U/jzZtUxBvBItwBGmOBhATxA2Ql+MuvHsvZdn8G8Wbep0DlaujaCdAcI4
-t61uT35u6X69Ab8jnC2eCtCT4fr17zNQH54K2znn5lpRbOVLPCuF85dAX1LoxjuX
-7ZigsV1ksx8MjsJD6QEFMBjBzNzM9wsSgHjKQqgFrRHqMq0tMxGyT9Arm4nx3c5u
-A/L0GsOyCmSPF0YHnpZyN4HIAO7Eg64B6zT52DsTygyXGibv972nGQacXF3SL/Mw
-MBvB2jfaxHpBaKNaRDhz4Y7q0Fsv9mKy6PZt0X38kp17lBuJ5f78Z676MEKBGJiM
-qdmjXz8Av1ByhojbM9vSh7CJONGiDN27sQ7HZbbOiXJqvPJcC1CHfirHUzOBqJXy
-7e1R+cJqoq1I1A21hcbZS8PccbfRtMKIG4fMTezl1Z9NYoThnr0tMSwucNIR1RyA
-MGMDsEJe0KeWKPnGeErEDm7ypekCLOEcpPcvyT/VumkFXOdUwz+gRz6b179aQGJu
-oOVin/fFKL2ZXIGDGL0aHF6ICmPRS45i0qhNVRuXgN8P5ThLYwXYVx1veOIco29I
-IO038WTH4ddPauIpklAyPKTV5hGtlh+SRUSGZpfwqJcHyqi1MrkGv0wQj183QgHX
-nDTM6AVZfv49FceJVLyOMZsHujo3C3TU/PqYa4/sHoUBgw==
-=rZHH
------END PGP MESSAGE-----
-
---abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs--
\ No newline at end of file
diff --git a/src/mailman_pgp/pgp/tests/data/mime_encrypted_then_signed.eml b/src/mailman_pgp/pgp/tests/data/mime_encrypted_then_signed.eml
deleted file mode 100644
index 2a350ab..0000000
--- a/src/mailman_pgp/pgp/tests/data/mime_encrypted_then_signed.eml
+++ /dev/null
@@ -1,50 +0,0 @@
-To: nobody@example.org
-From: RSA 1024b example
-Subject: Some subject.
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Date: Wed, 21 Jun 2017 13:50:59 +0200
-User-Agent: Mutt/1.7.2 (2016-11-26)
-MIME-Version: 1.0
-Content-Type: multipart/encrypted; protocol="application/pgp-encrypted";
- boundary="abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs"
-
-This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
---abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs
-Content-Type: application/pgp-encrypted
-Content-Description: PGP/MIME version identification
-
-Version: 1
-
---abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs
-Content-Type: application/octet-stream; name="encrypted.asc"
-Content-Description: OpenPGP encrypted message
-Content-Disposition: inline; filename="encrypted.asc"
-
------BEGIN PGP MESSAGE-----
-
-hIwD9aW4UkhFqMoBA/9QSX57wRXFQ21pc92xOHeOPJSt/rv1dK2EowZnNuMQyIrR
-uYXn0B5KxAHoSQRqEX+rs7HJDMDNd1QKouc45PZwuI/ZGF3jBA0P2fWni3gNeWOR
-T/jeuvomGe+pXOGq8IsJfq7ks/pA5nmcgKEPjjlHkD8hNjFmgyWc5Fv38MBgStLp
-AWk/tCOTfSR+64sETL7+42+kCAKigwQOBikvT7UaZ+3lI1IRNuPd4ndvoL1NxiaG
-kAV6DRwQMV8uSj4NefXyIBz47T0IzRCHMVKInkkGibjIxeUBUxJfG1ZbBtNXTTOJ
-sGr5Kvsj+47bt6m+ExmgeumVjyvbcBESw41WwKsIdxxc7PenfLfQY0dnLvPEfNAC
-cKyUn1Nr8jqiKd2NBy4RxINmWZ8u1SUeYNpO6UqtvKU3kgNfpezW1gpdNM2UYFeV
-8Hy8ksQJGz1qcGf9Id0bBld+uno6N9PAKEslIYOlwEqX3LntrtzSg5kv+blOBQlD
-zrYH3Nwp2IcFJjxZgLqfn1CpG3fVvocosEnagDrLEAoly7vVL0ZExFVSye7oLfw/
-NFHHujU9SXqplHzSJwnJrgyA38xEjvJrWS+jbFKOLdUMWE/cu4lOQSBlL5ObBgUq
-PIn17BUyTglU7A5XbOS3X/VEYoQglFXWz8oPb1urxUnwlJKRwt4bDHgZmlAzUP82
-cuA3ZCEXgE8qvYGZuXN0KQ4FBJbTsyPR+p6wHPPR/iyyozuP4G5oBww8Ed4locCn
-AsCL8XNK5ceL9qkh6gFPb+z/Bvh7ODBawayaaqjkK8pYjR4TE+CcV8fizZ1EATZR
-mgCbJOmMexIlvRjaDDWZ/+TFiVhKtxfXCStQUc1uTxzAqhA1MsFm5afkLk2/c1P3
-VzPXOpNRAm3A4la+3tcP7faqgJ2lDKKBOu/a0L13KPbf/pLSVcyFbGglmrr/u711
-PHYcEAlD1RRjoHKj2E3CBN0d8N+8SCtohtI3BMSG3IVlGQrxNPka4Lron4clJy3m
-8sm2YBFk458OPCcuKsbiWZtKPDIsFsxu6bbLo2jdrWjb2DZO8xKRM0WOChyus45N
-dIyCpEqK6VB3p5rcr3KYm5KFIBeogGxsHWTt5xKjbmG9jVAqzOaSGRVhV+QYcrda
-5eT1cvFUTkUddmq4j6i1d3dtQ6cYpHq8ehdHezcaqN8Wn7pzTauNB9WzeNgynNat
-BMyVvVgmfwa+NCb0s3zO78ysmeYXlayIa2aE0AXE83h8xfQw/zrV52NZ/xT2Sz2u
-AzxUkYEXmU0Utb6B3/AzYwzNpQ3RhnHzfg0/OYtgNQlfgLGlJt5adLdozyoxZY46
-BSIZcJxQUQVSlkMz
-=Q354
------END PGP MESSAGE-----
-
---abjqkjsfwqsfa546qw2wfq6sdq2sqwr56qqs--
\ No newline at end of file
diff --git a/src/mailman_pgp/pgp/tests/data/mime_privkey.eml b/src/mailman_pgp/pgp/tests/data/mime_privkey.eml
deleted file mode 100644
index da66247..0000000
--- a/src/mailman_pgp/pgp/tests/data/mime_privkey.eml
+++ /dev/null
@@ -1,59 +0,0 @@
-To: nobody@example.org
-From: RSA 1024b example
-Subject: Some subject.
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Date: Wed, 21 Jun 2017 13:50:59 +0200
-User-Agent: Mutt/1.7.2 (2016-11-26)
-MIME-Version: 1.0
-Content-Type: multipart/mixed;
- boundary="------------A851F166D50529639139DD0B"
-
-This is a multi-part message in MIME format.
---------------A851F166D50529639139DD0B
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 7bit
-
-Some other text.
-
---------------A851F166D50529639139DD0B
-Content-Type: application/pgp-keys;
- name="0x7884B758.asc"
-Content-Transfer-Encoding: 7bit
-Content-Disposition: attachment;
- filename="0x7884B758.asc"
-
------BEGIN PGP PRIVATE KEY BLOCK-----
-
-lQHYBFlKWqQBBADY8dCIub6x4tcFS3SmWW1r5ctwldFixkLz8LpBdgpc+zt7iWZI
-XvVWH9GYgTzgE+qEAVJcvQDG7/cX6zTopkkGEUmnwBgEFpc7Xi0D+/GYC23XleQk
-IF/R2Mf0AW3FBx/UxK0kIkYfTelkuZBrag83iLh3yKXkcLm1T010eGbTWQARAQAB
-AAP/ayABKrqZrQpHxfAMEmZ/TzPCIP6BzeX7wqxAtLlehapzJV3kGWF2gQgmPcm3
-byi2eWeTrYKQwytUVsXIswcFcCY1Fv6NkntMSqc6VJzGhvjKE9CTNJmgSjHlILMW
-Ma/9TzhxH2DT9tNMgOEN3+FoKRqjlLrhO/OiXqYZJdkXU+8CAOQin6DGnn+qvjlN
-5zw1GIpmWBt9b1S/WEqKaG1t4D/V0m0pAJBqeUbSC6MonQLA9pmIK/LbetUKRwM/
-xLNRMs8CAPNxR4NY73YIfSnlGRPdZHmOq4wMtqXYtoN1qZruHcXsrojcKHV72n8y
-Hb3R+LEKVjky95RKeKGowousIhGYQVcCAKsWtTWQA/VMW2V+ydzFHZHN0xwC9eTc
-uhs7G1qAqJR2POCq/0Cr3W4nXnbYSAr9wHal/YUuIKr54vNbPlXp6xqf/rQpUlNB
-IDEwMjRiIGV4YW1wbGUgPFJTQS0xMDI0YkBleGFtcGxlLm9yZz6IzgQTAQgAOBYh
-BNSpSIaxyiCWpkWOXEfxDAh4hLdYBQJZSlqkAhsDBQsJCAcCBhUICQoLAgQWAgMB
-Ah4BAheAAAoJEEfxDAh4hLdYbQIEALBwJUxkBGJYlP5kOZYAgQHw6+rwIgdXAoPk
-ldwcGPhvlBEocRYx+5KUYrx7W352dv+AgxSZ590JL7JGvWJDvMxoZGCJiRvJ7+Ve
-luKRH167wT8H4hxftBJqzorTU4eyPzG8bFneuag5dw+81DdngXjWRCorEHEdaQjc
-sfvVEmnhnQHYBFlKWqQBBADXLjeg+K0ZAuchhNkvMnfb8TlKoc1t1lH94unoqoj3
-L5Srf3XSo1fmuEBNr1nc5BLyH0tPDJZyuVCypfY4en9uaGvWO0U4t/OUiIWqPjBm
-XbjZWDdGKksb0cQNy13cvE57EmirbuVcXCE0OdU8lcbopN2wnecKOxLKK9PaLBZ6
-9wARAQABAAP+NyRiYA9p+GdciKPtLiGeQpA6EMyPAs8x2sB8FcIh8EpSrHIw5OYz
-/+2GmQHPIwKVclOfrmW45jRkICvUgZuurMmMrnDu63UT/9Pm+4EiUkPFnKfAgYFm
-XwWf2SklsoHCFT2WQ31WCp/hZxWucYqfPM/5ZsE+EAToK+C8BnMicI0CAOAUhruY
-JVh/7u6ES7xI6Hd7yHmU6rLr7oP2Z8cILirt5+1FgOP/qPdVEK9UGShbBcjfA+8W
-u4LISyuvCm8vuyMCAPXVJmTdmJjzBvP7BZe+HbDzWfhPCN+BvepGi3DQdHonLU2t
-IVOcMQsu0raaLevZ19nCKeMrOoAaIhCdjJUBGB0B/iSErQY+sNUAbjsW0zWovY2u
-e+0TBMDkO3OZCFKxCr/7mEuIfsAENXvDwAmx/YDklMwN8zgUAc5BqObGtRE7BYSg
-n4i2BBgBCAAgFiEE1KlIhrHKIJamRY5cR/EMCHiEt1gFAllKWqQCGwwACgkQR/EM
-CHiEt1gOwQP7BuyH2oKuWPAXcVrJdl3P3fIqvm4JzKRjXCVA9j5QOdihH1W5rZFC
-x3J+bUvKa1QJ1NuHoU9gYvR2NPs+CpMlTJ2wg7ksgtddlC9lsVi1ijvjJCugveBh
-a/CQJt7Cl6uDkifPsD5kxyUTecmnVfYZB6Fb/nrZxJ5Cb1dKPGixDpw=
-=e2xw
------END PGP PRIVATE KEY BLOCK-----
-
---------------A851F166D50529639139DD0B--
diff --git a/src/mailman_pgp/pgp/tests/data/mime_pubkey.eml b/src/mailman_pgp/pgp/tests/data/mime_pubkey.eml
deleted file mode 100644
index 1495a41..0000000
--- a/src/mailman_pgp/pgp/tests/data/mime_pubkey.eml
+++ /dev/null
@@ -1,46 +0,0 @@
-To: nobody@example.org
-From: RSA 1024b example
-Subject: Some subject.
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Date: Wed, 21 Jun 2017 13:50:59 +0200
-User-Agent: Mutt/1.7.2 (2016-11-26)
-MIME-Version: 1.0
-Content-Type: multipart/mixed;
- boundary="------------A851F166D50529639139DD0B"
-
-This is a multi-part message in MIME format.
---------------A851F166D50529639139DD0B
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: 7bit
-
-Some other text.
-
---------------A851F166D50529639139DD0B
-Content-Type: application/pgp-keys;
- name="0x7884B758.asc"
-Content-Transfer-Encoding: 7bit
-Content-Disposition: attachment;
- filename="0x7884B758.asc"
-
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mI0EWUpapAEEANjx0Ii5vrHi1wVLdKZZbWvly3CV0WLGQvPwukF2Clz7O3uJZkhe
-9VYf0ZiBPOAT6oQBUly9AMbv9xfrNOimSQYRSafAGAQWlzteLQP78ZgLbdeV5CQg
-X9HYx/QBbcUHH9TErSQiRh9N6WS5kGtqDzeIuHfIpeRwubVPTXR4ZtNZABEBAAG0
-KVJTQSAxMDI0YiBleGFtcGxlIDxSU0EtMTAyNGJAZXhhbXBsZS5vcmc+iM4EEwEI
-ADgWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIbAwULCQgHAgYVCAkKCwIE
-FgIDAQIeAQIXgAAKCRBH8QwIeIS3WG0CBACwcCVMZARiWJT+ZDmWAIEB8Ovq8CIH
-VwKD5JXcHBj4b5QRKHEWMfuSlGK8e1t+dnb/gIMUmefdCS+yRr1iQ7zMaGRgiYkb
-ye/lXpbikR9eu8E/B+IcX7QSas6K01OHsj8xvGxZ3rmoOXcPvNQ3Z4F41kQqKxBx
-HWkI3LH71RJp4biNBFlKWqQBBADXLjeg+K0ZAuchhNkvMnfb8TlKoc1t1lH94uno
-qoj3L5Srf3XSo1fmuEBNr1nc5BLyH0tPDJZyuVCypfY4en9uaGvWO0U4t/OUiIWq
-PjBmXbjZWDdGKksb0cQNy13cvE57EmirbuVcXCE0OdU8lcbopN2wnecKOxLKK9Pa
-LBZ69wARAQABiLYEGAEIACAWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIb
-DAAKCRBH8QwIeIS3WA7BA/sG7Ifagq5Y8BdxWsl2Xc/d8iq+bgnMpGNcJUD2PlA5
-2KEfVbmtkULHcn5tS8prVAnU24ehT2Bi9HY0+z4KkyVMnbCDuSyC112UL2WxWLWK
-O+MkK6C94GFr8JAm3sKXq4OSJ8+wPmTHJRN5yadV9hkHoVv+etnEnkJvV0o8aLEO
-nA==
-=4olM
------END PGP PUBLIC KEY BLOCK-----
-
---------------A851F166D50529639139DD0B--
diff --git a/src/mailman_pgp/pgp/tests/data/mime_signed.eml b/src/mailman_pgp/pgp/tests/data/mime_signed.eml
deleted file mode 100644
index c81ecf5..0000000
--- a/src/mailman_pgp/pgp/tests/data/mime_signed.eml
+++ /dev/null
@@ -1,45 +0,0 @@
-To: nobody@example.org
-From: RSA 1024b example
-Subject: Some subject.
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Date: Wed, 21 Jun 2017 13:50:59 +0200
-User-Agent: Mutt/1.7.2 (2016-11-26)
-MIME-Version: 1.0
-Content-Type: multipart/signed; micalg=pgp-sha256;
- protocol="application/pgp-signature";
- boundary="haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj"
-
-This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
---haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj
-Content-Type: multipart/mixed; boundary="A8WMQ249PdQmpiQhW1ELOnL2UctI16T1g";
- protected-headers="v1"
-From: RSA 1024b example
-To: nobody@example.org
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Subject: Some subject.
-
---A8WMQ249PdQmpiQhW1ELOnL2UctI16T1g
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: quoted-printable
-
-Some signed text.
-
-
---A8WMQ249PdQmpiQhW1ELOnL2UctI16T1g--
-
---haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj
-Content-Type: application/pgp-signature; name="signature.asc"
-Content-Description: OpenPGP digital signature
-Content-Disposition: attachment; filename="signature.asc"
-
------BEGIN PGP SIGNATURE-----
-
-iMoEAQEIADQWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpjIBYccnNhLTEwMjRi
-QGV4YW1wbGUub3JnAAoJEEfxDAh4hLdYb8wD/0AlaGxAhVGQqrXBuVXSDm4c49VI
-6+DG8cMOCZEin6P96hrLbs4SAm61xivJHPueIRRQ1PfWTcElPn97WuQ48e+/5hhw
-CZevF5CmyODGfriC78LwLRRvq2nF5n9iRww0lINPDyqrBr3mdY8QG+s8qBkTi7IG
-dBBQH0jA6p2OJV72
-=1tln
------END PGP SIGNATURE-----
-
---haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj--
diff --git a/src/mailman_pgp/pgp/tests/data/mime_signed_invalid.eml b/src/mailman_pgp/pgp/tests/data/mime_signed_invalid.eml
deleted file mode 100644
index 5e86842..0000000
--- a/src/mailman_pgp/pgp/tests/data/mime_signed_invalid.eml
+++ /dev/null
@@ -1,45 +0,0 @@
-To: nobody@example.org
-From: RSA 1024b example
-Subject: Some subject.
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Date: Wed, 21 Jun 2017 13:50:59 +0200
-User-Agent: Mutt/1.7.2 (2016-11-26)
-MIME-Version: 1.0
-Content-Type: multipart/signed; micalg=pgp-sha256;
- protocol="application/pgp-signature";
- boundary="haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj"
-
-This is an OpenPGP/MIME signed message (RFC 4880 and 3156)
---haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj
-Content-Type: multipart/mixed; boundary="A8WMQ249PdQmpiQhW1ELOnL2UctI16T1g";
- protected-headers="v1"
-From: RSA 1024b example
-To: nobody@example.org
-Message-ID: <76a591ed-bfc4-d08b-73d3-fc2489148fd7@example.org>
-Subject: Some subject.
-
---A8WMQ249PdQmpiQhW1ELOnL2UctI16T1g
-Content-Type: text/plain; charset=utf-8
-Content-Transfer-Encoding: quoted-printable
-
-Some signed text. With some INVALID text added!!
-
-
---A8WMQ249PdQmpiQhW1ELOnL2UctI16T1g--
-
---haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj
-Content-Type: application/pgp-signature; name="signature.asc"
-Content-Description: OpenPGP digital signature
-Content-Disposition: attachment; filename="signature.asc"
-
------BEGIN PGP SIGNATURE-----
-
-iMoEAQEIADQWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpjIBYccnNhLTEwMjRi
-QGV4YW1wbGUub3JnAAoJEEfxDAh4hLdYb8wD/0AlaGxAhVGQqrXBuVXSDm4c49VI
-6+DG8cMOCZEin6P96hrLbs4SAm61xivJHPueIRRQ1PfWTcElPn97WuQ48e+/5hhw
-CZevF5CmyODGfriC78LwLRRvq2nF5n9iRww0lINPDyqrBr3mdY8QG+s8qBkTi7IG
-dBBQH0jA6p2OJV72
-=1tln
------END PGP SIGNATURE-----
-
---haWP9JQ7TiajUxWjooGlinHgq3IhJGnaj--
diff --git a/src/mailman_pgp/pgp/tests/data/rsa_1024.priv.asc b/src/mailman_pgp/pgp/tests/data/rsa_1024.priv.asc
deleted file mode 100644
index e8f4c12..0000000
--- a/src/mailman_pgp/pgp/tests/data/rsa_1024.priv.asc
+++ /dev/null
@@ -1,33 +0,0 @@
------BEGIN PGP PRIVATE KEY BLOCK-----
-
-lQHYBFlKWqQBBADY8dCIub6x4tcFS3SmWW1r5ctwldFixkLz8LpBdgpc+zt7iWZI
-XvVWH9GYgTzgE+qEAVJcvQDG7/cX6zTopkkGEUmnwBgEFpc7Xi0D+/GYC23XleQk
-IF/R2Mf0AW3FBx/UxK0kIkYfTelkuZBrag83iLh3yKXkcLm1T010eGbTWQARAQAB
-AAP/ayABKrqZrQpHxfAMEmZ/TzPCIP6BzeX7wqxAtLlehapzJV3kGWF2gQgmPcm3
-byi2eWeTrYKQwytUVsXIswcFcCY1Fv6NkntMSqc6VJzGhvjKE9CTNJmgSjHlILMW
-Ma/9TzhxH2DT9tNMgOEN3+FoKRqjlLrhO/OiXqYZJdkXU+8CAOQin6DGnn+qvjlN
-5zw1GIpmWBt9b1S/WEqKaG1t4D/V0m0pAJBqeUbSC6MonQLA9pmIK/LbetUKRwM/
-xLNRMs8CAPNxR4NY73YIfSnlGRPdZHmOq4wMtqXYtoN1qZruHcXsrojcKHV72n8y
-Hb3R+LEKVjky95RKeKGowousIhGYQVcCAKsWtTWQA/VMW2V+ydzFHZHN0xwC9eTc
-uhs7G1qAqJR2POCq/0Cr3W4nXnbYSAr9wHal/YUuIKr54vNbPlXp6xqf/rQpUlNB
-IDEwMjRiIGV4YW1wbGUgPFJTQS0xMDI0YkBleGFtcGxlLm9yZz6IzgQTAQgAOBYh
-BNSpSIaxyiCWpkWOXEfxDAh4hLdYBQJZSlqkAhsDBQsJCAcCBhUICQoLAgQWAgMB
-Ah4BAheAAAoJEEfxDAh4hLdYbQIEALBwJUxkBGJYlP5kOZYAgQHw6+rwIgdXAoPk
-ldwcGPhvlBEocRYx+5KUYrx7W352dv+AgxSZ590JL7JGvWJDvMxoZGCJiRvJ7+Ve
-luKRH167wT8H4hxftBJqzorTU4eyPzG8bFneuag5dw+81DdngXjWRCorEHEdaQjc
-sfvVEmnhnQHYBFlKWqQBBADXLjeg+K0ZAuchhNkvMnfb8TlKoc1t1lH94unoqoj3
-L5Srf3XSo1fmuEBNr1nc5BLyH0tPDJZyuVCypfY4en9uaGvWO0U4t/OUiIWqPjBm
-XbjZWDdGKksb0cQNy13cvE57EmirbuVcXCE0OdU8lcbopN2wnecKOxLKK9PaLBZ6
-9wARAQABAAP+NyRiYA9p+GdciKPtLiGeQpA6EMyPAs8x2sB8FcIh8EpSrHIw5OYz
-/+2GmQHPIwKVclOfrmW45jRkICvUgZuurMmMrnDu63UT/9Pm+4EiUkPFnKfAgYFm
-XwWf2SklsoHCFT2WQ31WCp/hZxWucYqfPM/5ZsE+EAToK+C8BnMicI0CAOAUhruY
-JVh/7u6ES7xI6Hd7yHmU6rLr7oP2Z8cILirt5+1FgOP/qPdVEK9UGShbBcjfA+8W
-u4LISyuvCm8vuyMCAPXVJmTdmJjzBvP7BZe+HbDzWfhPCN+BvepGi3DQdHonLU2t
-IVOcMQsu0raaLevZ19nCKeMrOoAaIhCdjJUBGB0B/iSErQY+sNUAbjsW0zWovY2u
-e+0TBMDkO3OZCFKxCr/7mEuIfsAENXvDwAmx/YDklMwN8zgUAc5BqObGtRE7BYSg
-n4i2BBgBCAAgFiEE1KlIhrHKIJamRY5cR/EMCHiEt1gFAllKWqQCGwwACgkQR/EM
-CHiEt1gOwQP7BuyH2oKuWPAXcVrJdl3P3fIqvm4JzKRjXCVA9j5QOdihH1W5rZFC
-x3J+bUvKa1QJ1NuHoU9gYvR2NPs+CpMlTJ2wg7ksgtddlC9lsVi1ijvjJCugveBh
-a/CQJt7Cl6uDkifPsD5kxyUTecmnVfYZB6Fb/nrZxJ5Cb1dKPGixDpw=
-=e2xw
------END PGP PRIVATE KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/data/rsa_1024.pub.asc b/src/mailman_pgp/pgp/tests/data/rsa_1024.pub.asc
deleted file mode 100644
index 5bc0d34..0000000
--- a/src/mailman_pgp/pgp/tests/data/rsa_1024.pub.asc
+++ /dev/null
@@ -1,20 +0,0 @@
------BEGIN PGP PUBLIC KEY BLOCK-----
-
-mI0EWUpapAEEANjx0Ii5vrHi1wVLdKZZbWvly3CV0WLGQvPwukF2Clz7O3uJZkhe
-9VYf0ZiBPOAT6oQBUly9AMbv9xfrNOimSQYRSafAGAQWlzteLQP78ZgLbdeV5CQg
-X9HYx/QBbcUHH9TErSQiRh9N6WS5kGtqDzeIuHfIpeRwubVPTXR4ZtNZABEBAAG0
-KVJTQSAxMDI0YiBleGFtcGxlIDxSU0EtMTAyNGJAZXhhbXBsZS5vcmc+iM4EEwEI
-ADgWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIbAwULCQgHAgYVCAkKCwIE
-FgIDAQIeAQIXgAAKCRBH8QwIeIS3WG0CBACwcCVMZARiWJT+ZDmWAIEB8Ovq8CIH
-VwKD5JXcHBj4b5QRKHEWMfuSlGK8e1t+dnb/gIMUmefdCS+yRr1iQ7zMaGRgiYkb
-ye/lXpbikR9eu8E/B+IcX7QSas6K01OHsj8xvGxZ3rmoOXcPvNQ3Z4F41kQqKxBx
-HWkI3LH71RJp4biNBFlKWqQBBADXLjeg+K0ZAuchhNkvMnfb8TlKoc1t1lH94uno
-qoj3L5Srf3XSo1fmuEBNr1nc5BLyH0tPDJZyuVCypfY4en9uaGvWO0U4t/OUiIWq
-PjBmXbjZWDdGKksb0cQNy13cvE57EmirbuVcXCE0OdU8lcbopN2wnecKOxLKK9Pa
-LBZ69wARAQABiLYEGAEIACAWIQTUqUiGscoglqZFjlxH8QwIeIS3WAUCWUpapAIb
-DAAKCRBH8QwIeIS3WA7BA/sG7Ifagq5Y8BdxWsl2Xc/d8iq+bgnMpGNcJUD2PlA5
-2KEfVbmtkULHcn5tS8prVAnU24ehT2Bi9HY0+z4KkyVMnbCDuSyC112UL2WxWLWK
-O+MkK6C94GFr8JAm3sKXq4OSJ8+wPmTHJRN5yadV9hkHoVv+etnEnkJvV0o8aLEO
-nA==
-=4olM
------END PGP PUBLIC KEY BLOCK-----
diff --git a/src/mailman_pgp/pgp/tests/test_inline.py b/src/mailman_pgp/pgp/tests/test_inline.py
index 900d5b2..cd18209 100644
--- a/src/mailman_pgp/pgp/tests/test_inline.py
+++ b/src/mailman_pgp/pgp/tests/test_inline.py
@@ -29,54 +29,54 @@ class InlineWrapperTestCase(WrapperTestCase):
class TestSigning(InlineWrapperTestCase):
@parameterized.expand([
- (load_message('data/inline_cleartext_signed.eml'),
+ (load_message('inline_cleartext_signed.eml'),
True),
- (load_message('data/inline_cleartext_signed_invalid.eml'),
+ (load_message('inline_cleartext_signed_invalid.eml'),
True),
- (load_message('data/inline_signed.eml'),
+ (load_message('inline_signed.eml'),
True),
- (load_message('data/inline_signed_corrupted.eml'),
+ (load_message('inline_signed_corrupted.eml'),
False),
- (load_message('data/clear.eml'),
+ (load_message('clear.eml'),
False),
- (load_message('data/inline_encrypted.eml'),
+ (load_message('inline_encrypted.eml'),
False)
])
def test_is_signed(self, message, signed):
super().is_signed(message, signed)
@parameterized.expand([
- (load_message('data/clear.eml'),
- load_key('data/rsa_1024.priv.asc')),
- (load_message('data/clear.eml'),
- load_key('data/ecc_p256.priv.asc'))
+ (load_message('clear.eml'),
+ load_key('rsa_1024.priv.asc')),
+ (load_message('clear.eml'),
+ load_key('ecc_p256.priv.asc'))
])
def test_sign(self, message, key):
super().sign(message, key)
@parameterized.expand([
- (load_message('data/clear.eml'),
- load_key('data/rsa_1024.priv.asc'),
- load_key('data/rsa_1024.pub.asc')),
- (load_message('data/clear.eml'),
- load_key('data/ecc_p256.priv.asc'),
- load_key('data/ecc_p256.pub.asc'))
+ (load_message('clear.eml'),
+ load_key('rsa_1024.priv.asc'),
+ load_key('rsa_1024.pub.asc')),
+ (load_message('clear.eml'),
+ load_key('ecc_p256.priv.asc'),
+ load_key('ecc_p256.pub.asc'))
])
def test_sign_verify(self, message, priv, pub):
super().sign_verify(message, priv, pub)
@parameterized.expand([
- (load_message('data/inline_cleartext_signed.eml'),
- load_key('data/rsa_1024.pub.asc'),
+ (load_message('inline_cleartext_signed.eml'),
+ load_key('rsa_1024.pub.asc'),
True),
- (load_message('data/inline_cleartext_signed_invalid.eml'),
- load_key('data/rsa_1024.pub.asc'),
+ (load_message('inline_cleartext_signed_invalid.eml'),
+ load_key('rsa_1024.pub.asc'),
False),
- (load_message('data/inline_signed.eml'),
- load_key('data/rsa_1024.pub.asc'),
+ (load_message('inline_signed.eml'),
+ load_key('rsa_1024.pub.asc'),
True),
- (load_message('data/inline_signed_corrupted.eml'),
- load_key('data/rsa_1024.pub.asc'),
+ (load_message('inline_signed_corrupted.eml'),
+ load_key('rsa_1024.pub.asc'),
False),
])
def test_verify(self, message, key, valid):
@@ -85,28 +85,28 @@ class TestSigning(InlineWrapperTestCase):
class TestEncryption(InlineWrapperTestCase):
@parameterized.expand([
- (load_message('data/inline_encrypted.eml'),
+ (load_message('inline_encrypted.eml'),
True),
- (load_message('data/inline_cleartext_signed.eml'),
+ (load_message('inline_cleartext_signed.eml'),
False),
- (load_message('data/inline_cleartext_signed_invalid.eml'),
+ (load_message('inline_cleartext_signed_invalid.eml'),
False),
- (load_message('data/inline_signed.eml'),
+ (load_message('inline_signed.eml'),
False),
- (load_message('data/inline_signed_corrupted.eml'),
+ (load_message('inline_signed_corrupted.eml'),
False),
- (load_message('data/clear.eml'),
+ (load_message('clear.eml'),
False)
])
def test_is_encrypted(self, message, encrypted):
super().is_encrypted(message, encrypted)
@parameterized.expand([
- (load_message('data/clear.eml'),
- load_key('data/rsa_1024.pub.asc')),
- (load_message('data/clear.eml'),
- (load_key('data/rsa_1024.pub.asc'),
- load_key('data/ecc_p256.pub.asc')))
+ (load_message('clear.eml'),
+ load_key('rsa_1024.pub.asc')),
+ (load_message('clear.eml'),
+ (load_key('rsa_1024.pub.asc'),
+ load_key('ecc_p256.pub.asc')))
])
def test_encrypt(self, message, keys, **kwargs):
if isinstance(keys, tuple):
@@ -115,19 +115,19 @@ class TestEncryption(InlineWrapperTestCase):
super().encrypt(message, keys, **kwargs)
@parameterized.expand([
- (load_message('data/clear.eml'),
- load_key('data/rsa_1024.pub.asc'),
- load_key('data/rsa_1024.priv.asc')),
- (load_message('data/clear.eml'),
- load_key('data/ecc_p256.pub.asc'),
- load_key('data/ecc_p256.priv.asc'))
+ (load_message('clear.eml'),
+ load_key('rsa_1024.pub.asc'),
+ load_key('rsa_1024.priv.asc')),
+ (load_message('clear.eml'),
+ load_key('ecc_p256.pub.asc'),
+ load_key('ecc_p256.priv.asc'))
])
def test_encrypt_decrypt(self, message, pub, priv):
super().encrypt_decrypt(message, pub, priv)
@parameterized.expand([
- (load_message('data/inline_encrypted.eml'),
- load_key('data/rsa_1024.priv.asc'),
+ (load_message('inline_encrypted.eml'),
+ load_key('rsa_1024.priv.asc'),
'Some encrypted text.\n\n')
])
def test_decrypt(self, message, key, clear):
@@ -136,23 +136,23 @@ class TestEncryption(InlineWrapperTestCase):
class TestKeys(InlineWrapperTestCase):
@parameterized.expand([
- (load_message('data/inline_privkey.eml'),
+ (load_message('inline_privkey.eml'),
True),
- (load_message('data/inline_pubkey.eml'),
+ (load_message('inline_pubkey.eml'),
True),
- (load_message('data/clear.eml'),
+ (load_message('clear.eml'),
False),
- (load_message('data/inline_cleartext_signed.eml'),
+ (load_message('inline_cleartext_signed.eml'),
False)
])
def test_has_keys(self, message, has_keys):
super().has_keys(message, has_keys)
@parameterized.expand([
- (load_message('data/inline_privkey.eml'),
- [load_key('data/rsa_1024.priv.asc')]),
- (load_message('data/inline_pubkey.eml'),
- [load_key('data/rsa_1024.pub.asc')])
+ (load_message('inline_privkey.eml'),
+ [load_key('rsa_1024.priv.asc')]),
+ (load_message('inline_pubkey.eml'),
+ [load_key('rsa_1024.pub.asc')])
])
def test_keys(self, message, keys):
super().keys(message, keys)
diff --git a/src/mailman_pgp/pgp/tests/test_mime.py b/src/mailman_pgp/pgp/tests/test_mime.py
index 7243e06..fab50bb 100644
--- a/src/mailman_pgp/pgp/tests/test_mime.py
+++ b/src/mailman_pgp/pgp/tests/test_mime.py
@@ -29,42 +29,42 @@ class MIMEWrapperTestCase(WrapperTestCase):
class TestSigning(MIMEWrapperTestCase):
@parameterized.expand([
- (load_message('data/mime_signed.eml'),
+ (load_message('mime_signed.eml'),
True),
- (load_message('data/mime_signed_invalid.eml'),
+ (load_message('mime_signed_invalid.eml'),
True),
- (load_message('data/clear.eml'),
+ (load_message('clear.eml'),
False)
])
def test_is_signed(self, message, signed):
super().is_signed(message, signed)
@parameterized.expand([
- (load_message('data/clear.eml'),
- load_key('data/rsa_1024.priv.asc')),
- (load_message('data/clear.eml'),
- load_key('data/ecc_p256.priv.asc'))
+ (load_message('clear.eml'),
+ load_key('rsa_1024.priv.asc')),
+ (load_message('clear.eml'),
+ load_key('ecc_p256.priv.asc'))
])
def test_sign(self, message, key):
super().sign(message, key)
@parameterized.expand([
- (load_message('data/clear.eml'),
- load_key('data/rsa_1024.priv.asc'),
- load_key('data/rsa_1024.pub.asc')),
- (load_message('data/clear.eml'),
- load_key('data/ecc_p256.priv.asc'),
- load_key('data/ecc_p256.pub.asc'))
+ (load_message('clear.eml'),
+ load_key('rsa_1024.priv.asc'),
+ load_key('rsa_1024.pub.asc')),
+ (load_message('clear.eml'),
+ load_key('ecc_p256.priv.asc'),
+ load_key('ecc_p256.pub.asc'))
])
def test_sign_verify(self, message, priv, pub):
super().sign_verify(message, priv, pub)
@parameterized.expand([
- (load_message('data/mime_signed.eml'),
- load_key('data/rsa_1024.pub.asc'),
+ (load_message('mime_signed.eml'),
+ load_key('rsa_1024.pub.asc'),
True),
- (load_message('data/mime_signed_invalid.eml'),
- load_key('data/rsa_1024.pub.asc'),
+ (load_message('mime_signed_invalid.eml'),
+ load_key('rsa_1024.pub.asc'),
False)
])
def test_verify(self, message, key, valid):
@@ -73,20 +73,20 @@ class TestSigning(MIMEWrapperTestCase):
class TestEncryption(MIMEWrapperTestCase):
@parameterized.expand([
- (load_message('data/mime_encrypted.eml'),
+ (load_message('mime_encrypted.eml'),
True),
- (load_message('data/mime_encrypted_then_signed.eml'),
+ (load_message('mime_encrypted_then_signed.eml'),
True)
])
def test_is_encrypted(self, message, encrypted):
super().is_encrypted(message, encrypted)
@parameterized.expand([
- (load_message('data/clear.eml'),
- load_key('data/rsa_1024.pub.asc')),
- (load_message('data/clear.eml'),
- (load_key('data/rsa_1024.pub.asc'),
- load_key('data/ecc_p256.pub.asc')))
+ (load_message('clear.eml'),
+ load_key('rsa_1024.pub.asc')),
+ (load_message('clear.eml'),
+ (load_key('rsa_1024.pub.asc'),
+ load_key('ecc_p256.pub.asc')))
])
def test_encrypt(self, message, keys, **kwargs):
if isinstance(keys, tuple):
@@ -95,19 +95,19 @@ class TestEncryption(MIMEWrapperTestCase):
super().encrypt(message, keys, **kwargs)
@parameterized.expand([
- (load_message('data/clear.eml'),
- load_key('data/rsa_1024.pub.asc'),
- load_key('data/rsa_1024.priv.asc')),
- (load_message('data/clear.eml'),
- load_key('data/ecc_p256.pub.asc'),
- load_key('data/ecc_p256.priv.asc'))
+ (load_message('clear.eml'),
+ load_key('rsa_1024.pub.asc'),
+ load_key('rsa_1024.priv.asc')),
+ (load_message('clear.eml'),
+ load_key('ecc_p256.pub.asc'),
+ load_key('ecc_p256.priv.asc'))
])
def test_encrypt_decrypt(self, message, pub, priv):
super().encrypt_decrypt(message, pub, priv)
@parameterized.expand([
- (load_message('data/mime_encrypted.eml'),
- load_key('data/rsa_1024.priv.asc'),
+ (load_message('mime_encrypted.eml'),
+ load_key('rsa_1024.priv.asc'),
'Some encrypted text.\n')
])
def test_decrypt(self, message, key, clear):
@@ -116,23 +116,23 @@ class TestEncryption(MIMEWrapperTestCase):
class TestKeys(MIMEWrapperTestCase):
@parameterized.expand([
- (load_message('data/mime_privkey.eml'),
+ (load_message('mime_privkey.eml'),
True),
- (load_message('data/mime_pubkey.eml'),
+ (load_message('mime_pubkey.eml'),
True),
- (load_message('data/clear.eml'),
+ (load_message('clear.eml'),
False),
- (load_message('data/mime_signed.eml'),
+ (load_message('mime_signed.eml'),
False)
])
def test_has_keys(self, message, has_keys):
super().has_keys(message, has_keys)
@parameterized.expand([
- (load_message('data/mime_privkey.eml'),
- [load_key('data/rsa_1024.priv.asc')]),
- (load_message('data/mime_pubkey.eml'),
- [load_key('data/rsa_1024.pub.asc')])
+ (load_message('mime_privkey.eml'),
+ [load_key('rsa_1024.priv.asc')]),
+ (load_message('mime_pubkey.eml'),
+ [load_key('rsa_1024.pub.asc')])
])
def test_keys(self, message, keys):
super().keys(message, keys)
@@ -140,9 +140,9 @@ class TestKeys(MIMEWrapperTestCase):
class TestCombined(MIMEWrapperTestCase):
@parameterized.expand([
- (load_message('data/clear.eml'),
- load_key('data/rsa_1024.priv.asc'),
- load_key('data/ecc_p256.priv.asc'))
+ (load_message('clear.eml'),
+ load_key('rsa_1024.priv.asc'),
+ load_key('ecc_p256.priv.asc'))
])
def test_sign_encrypt_decrypt_verify(self, message, sign_key, encrypt_key):
super().sign_encrypt_decrypt_verify(message, sign_key, encrypt_key)
diff --git a/src/mailman_pgp/pgp/tests/test_wrapper.py b/src/mailman_pgp/pgp/tests/test_wrapper.py
index 1c55ed2..fb7f0bb 100644
--- a/src/mailman_pgp/pgp/tests/test_wrapper.py
+++ b/src/mailman_pgp/pgp/tests/test_wrapper.py
@@ -28,47 +28,47 @@ class PGPWrapperTestCase(WrapperTestCase):
class TestSigning(PGPWrapperTestCase):
@parameterized.expand([
- (load_message('data/inline_cleartext_signed.eml'),
+ (load_message('inline_cleartext_signed.eml'),
True),
- (load_message('data/inline_cleartext_signed_invalid.eml'),
+ (load_message('inline_cleartext_signed_invalid.eml'),
True),
- (load_message('data/inline_encrypted.eml'),
+ (load_message('inline_encrypted.eml'),
False),
- (load_message('data/inline_signed.eml'),
+ (load_message('inline_signed.eml'),
True),
- (load_message('data/inline_signed_corrupted.eml'),
+ (load_message('inline_signed_corrupted.eml'),
False),
- (load_message('data/mime_signed.eml'),
+ (load_message('mime_signed.eml'),
True),
- (load_message('data/mime_signed_invalid.eml'),
+ (load_message('mime_signed_invalid.eml'),
True),
- (load_message('data/clear.eml'),
+ (load_message('clear.eml'),
False)
])
def test_is_signed(self, message, signed):
super().is_signed(message, signed)
@parameterized.expand([
- (load_message('data/clear.eml'),
- load_key('data/rsa_1024.priv.asc')),
- (load_message('data/clear.eml'),
- load_key('data/ecc_p256.priv.asc'))
+ (load_message('clear.eml'),
+ load_key('rsa_1024.priv.asc')),
+ (load_message('clear.eml'),
+ load_key('ecc_p256.priv.asc'))
])
def test_sign(self, message, key):
super().sign(message, key)
@parameterized.expand([
- (load_message('data/inline_cleartext_signed.eml'),
- load_key('data/rsa_1024.pub.asc'),
+ (load_message('inline_cleartext_signed.eml'),
+ load_key('rsa_1024.pub.asc'),
True),
- (load_message('data/inline_cleartext_signed_invalid.eml'),
- load_key('data/rsa_1024.pub.asc'),
+ (load_message('inline_cleartext_signed_invalid.eml'),
+ load_key('rsa_1024.pub.asc'),
False),
- (load_message('data/mime_signed.eml'),
- load_key('data/rsa_1024.pub.asc'),
+ (load_message('mime_signed.eml'),
+ load_key('rsa_1024.pub.asc'),
True),
- (load_message('data/mime_signed_invalid.eml'),
- load_key('data/rsa_1024.pub.asc'),
+ (load_message('mime_signed_invalid.eml'),
+ load_key('rsa_1024.pub.asc'),
False)
])
def test_verify(self, message, key, valid):
@@ -77,30 +77,30 @@ class TestSigning(PGPWrapperTestCase):
class TestEncryption(PGPWrapperTestCase):
@parameterized.expand([
- (load_message('data/inline_encrypted.eml'),
+ (load_message('inline_encrypted.eml'),
True),
- (load_message('data/mime_encrypted_then_signed.eml'),
+ (load_message('mime_encrypted_then_signed.eml'),
True),
- (load_message('data/inline_cleartext_signed.eml'),
+ (load_message('inline_cleartext_signed.eml'),
False),
- (load_message('data/inline_cleartext_signed_invalid.eml'),
+ (load_message('inline_cleartext_signed_invalid.eml'),
False),
- (load_message('data/inline_signed.eml'),
+ (load_message('inline_signed.eml'),
False),
- (load_message('data/inline_signed_corrupted.eml'),
+ (load_message('inline_signed_corrupted.eml'),
False),
- (load_message('data/clear.eml'),
+ (load_message('clear.eml'),
False)
])
def test_is_encrypted(self, message, encrypted):
super().is_encrypted(message, encrypted)
@parameterized.expand([
- (load_message('data/clear.eml'),
- load_key('data/rsa_1024.pub.asc')),
- (load_message('data/clear.eml'),
- (load_key('data/rsa_1024.pub.asc'),
- load_key('data/ecc_p256.pub.asc')))
+ (load_message('clear.eml'),
+ load_key('rsa_1024.pub.asc')),
+ (load_message('clear.eml'),
+ (load_key('rsa_1024.pub.asc'),
+ load_key('ecc_p256.pub.asc')))
])
def test_encrypt(self, message, keys, **kwargs):
if isinstance(keys, tuple):
@@ -109,19 +109,19 @@ class TestEncryption(PGPWrapperTestCase):
super().encrypt(message, keys, **kwargs)
@parameterized.expand([
- (load_message('data/clear.eml'),
- load_key('data/rsa_1024.pub.asc'),
- load_key('data/rsa_1024.priv.asc')),
- (load_message('data/clear.eml'),
- load_key('data/ecc_p256.pub.asc'),
- load_key('data/ecc_p256.priv.asc'))
+ (load_message('clear.eml'),
+ load_key('rsa_1024.pub.asc'),
+ load_key('rsa_1024.priv.asc')),
+ (load_message('clear.eml'),
+ load_key('ecc_p256.pub.asc'),
+ load_key('ecc_p256.priv.asc'))
])
def test_encrypt_decrypt(self, message, pub, priv):
super().encrypt_decrypt(message, pub, priv)
@parameterized.expand([
- (load_message('data/inline_encrypted.eml'),
- load_key('data/rsa_1024.priv.asc'),
+ (load_message('inline_encrypted.eml'),
+ load_key('rsa_1024.priv.asc'),
'Some encrypted text.\n\n')
])
def test_decrypt(self, message, key, clear):
@@ -130,33 +130,33 @@ class TestEncryption(PGPWrapperTestCase):
class TestKeys(PGPWrapperTestCase):
@parameterized.expand([
- (load_message('data/inline_privkey.eml'),
+ (load_message('inline_privkey.eml'),
True),
- (load_message('data/inline_pubkey.eml'),
+ (load_message('inline_pubkey.eml'),
True),
- (load_message('data/inline_cleartext_signed.eml'),
+ (load_message('inline_cleartext_signed.eml'),
False),
- (load_message('data/mime_privkey.eml'),
+ (load_message('mime_privkey.eml'),
True),
- (load_message('data/mime_pubkey.eml'),
+ (load_message('mime_pubkey.eml'),
True),
- (load_message('data/mime_signed.eml'),
+ (load_message('mime_signed.eml'),
False),
- (load_message('data/clear.eml'),
+ (load_message('clear.eml'),
False)
])
def test_has_keys(self, message, has_keys):
super().has_keys(message, has_keys)
@parameterized.expand([
- (load_message('data/inline_privkey.eml'),
- [load_key('data/rsa_1024.priv.asc')]),
- (load_message('data/inline_pubkey.eml'),
- [load_key('data/rsa_1024.pub.asc')]),
- (load_message('data/mime_privkey.eml'),
- [load_key('data/rsa_1024.priv.asc')]),
- (load_message('data/mime_pubkey.eml'),
- [load_key('data/rsa_1024.pub.asc')])
+ (load_message('inline_privkey.eml'),
+ [load_key('rsa_1024.priv.asc')]),
+ (load_message('inline_pubkey.eml'),
+ [load_key('rsa_1024.pub.asc')]),
+ (load_message('mime_privkey.eml'),
+ [load_key('rsa_1024.priv.asc')]),
+ (load_message('mime_pubkey.eml'),
+ [load_key('rsa_1024.pub.asc')])
])
def test_keys(self, message, keys):
super().keys(message, keys)
--
cgit v1.2.3-70-g09d2