diff options
| author | J08nY | 2017-07-06 17:12:52 +0200 |
|---|---|---|
| committer | J08nY | 2017-07-06 17:12:52 +0200 |
| commit | e224ef8e73c1626b0848a2c05a014cd30dd7b250 (patch) | |
| tree | eff0233d139caf0076ea39ee8a4f16083bbb0762 /src/mailman_pgp/pgp/tests | |
| parent | 286896ca27966818a4052aec3737745af3bb7c02 (diff) | |
| download | mailman-pgp-e224ef8e73c1626b0848a2c05a014cd30dd7b250.tar.gz mailman-pgp-e224ef8e73c1626b0848a2c05a014cd30dd7b250.tar.zst mailman-pgp-e224ef8e73c1626b0848a2c05a014cd30dd7b250.zip | |
Diffstat (limited to 'src/mailman_pgp/pgp/tests')
| -rw-r--r-- | src/mailman_pgp/pgp/tests/base.py | 15 | ||||
| -rw-r--r-- | src/mailman_pgp/pgp/tests/data/mime_encrypted_signed.eml | 42 | ||||
| -rw-r--r-- | src/mailman_pgp/pgp/tests/test_mime.py | 10 |
3 files changed, 67 insertions, 0 deletions
diff --git a/src/mailman_pgp/pgp/tests/base.py b/src/mailman_pgp/pgp/tests/base.py index 5f132e7..4b1e0c2 100644 --- a/src/mailman_pgp/pgp/tests/base.py +++ b/src/mailman_pgp/pgp/tests/base.py @@ -101,3 +101,18 @@ class WrapperTestCase(TestCase): loaded_fingerprints = list(map(lambda key: key.fingerprint, loaded)) fingerprints = list(map(lambda key: key.fingerprint, keys)) self.assertListEqual(loaded_fingerprints, fingerprints) + + def sign_encrypt_decrypt_verify(self, message, sign_key, encrypt_key): + wrapped = self.wrapper(message) + encrypted = wrapped.sign_encrypt(sign_key, encrypt_key.pubkey) + encrypted_wrapped = self.wrapper(encrypted) + self.assertTrue(encrypted_wrapped.is_encrypted()) + + decrypted = encrypted_wrapped.decrypt(encrypt_key) + decrypted_wrapped = self.wrapper(decrypted) + self.assertTrue(decrypted_wrapped.is_signed()) + self.assertFalse(decrypted_wrapped.is_encrypted()) + + verification = decrypted_wrapped.verify(sign_key.pubkey) + for sig in verification: + self.assertTrue(bool(sig)) diff --git a/src/mailman_pgp/pgp/tests/data/mime_encrypted_signed.eml b/src/mailman_pgp/pgp/tests/data/mime_encrypted_signed.eml new file mode 100644 index 0000000..57a6afd --- /dev/null +++ b/src/mailman_pgp/pgp/tests/data/mime_encrypted_signed.eml @@ -0,0 +1,42 @@ +To: nobody@example.org +From: RSA 1024b example <RSA-1024b@example.org> +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/test_mime.py b/src/mailman_pgp/pgp/tests/test_mime.py index a3549a4..7243e06 100644 --- a/src/mailman_pgp/pgp/tests/test_mime.py +++ b/src/mailman_pgp/pgp/tests/test_mime.py @@ -136,3 +136,13 @@ class TestKeys(MIMEWrapperTestCase): ]) def test_keys(self, message, keys): super().keys(message, keys) + + +class TestCombined(MIMEWrapperTestCase): + @parameterized.expand([ + (load_message('data/clear.eml'), + load_key('data/rsa_1024.priv.asc'), + load_key('data/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) |
