diff --git a/mailhandler_d8_demo/eml/PGP_Signed_Inline.eml b/mailhandler_d8_demo/eml/PGP_Signed_Inline.eml new file mode 100644 index 0000000..17f3718 --- /dev/null +++ b/mailhandler_d8_demo/eml/PGP_Signed_Inline.eml @@ -0,0 +1,31 @@ +Delivery-date: Fri, 08 Jul 2016 08:37:13 -0700 +To: receiver@example.com +From: Demo User +Subject: PGP Signed Inline Example +Message-ID: <577FC8A2.5010302@example.com> +Date: Fri, 8 Jul 2016 17:37:06 +0200 +MIME-Version: 1.0 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: 8bit + +-----BEGIN PGP SIGNED MESSAGE----- +Hash: SHA256 + +Hello! + +This is an inline-signed message created for demo purposes of Google +Summer of Code 2016 - Mailhandler project. + +Best, +Milos +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 + +iQEbBAEBCAAGBQJXf8ifAAoJEERjGJDu+Xn6LjAH8wa0V0G10BPLR83ruZpDGJOJ +0C2pDKQCyYU/HkTxHvhPm8UP8i8MSbLuHyzFzx+kOvUwSYUtFmdhTuTTPUGVStSi +NCdb1FdNOlOOnygmy8bvNXlDd/96/T04v3wI+4lXa3SioFESwjJStOCaoMMCOscC +c5PTqy3RsP7cAKzTKxgWpCogpmzFgd6Cn6PY1TWmFVHTN2VIzcvpsybQ7qZzRS0U +ceFFYjlUtB4bBbOnF0Nvl55cf4BJO1+QMwiHuh5trERBM3j3qmwMObGutEb/TEno +Vwq6CqQR1virnGNCokAUvtQ75gtVW5gKZOPHqjNAfjUw5tf/bW5P558S72dzcA== +=ns4L +-----END PGP SIGNATURE----- diff --git a/mailhandler_d8_demo/eml/PGP_Signed_MIME.eml b/mailhandler_d8_demo/eml/PGP_Signed_MIME.eml new file mode 100644 index 0000000..5fe6a0f --- /dev/null +++ b/mailhandler_d8_demo/eml/PGP_Signed_MIME.eml @@ -0,0 +1,52 @@ +Delivery-date: Fri, 08 Jul 2016 09:11:07 -0700 +To: receiver@example.com +From: Demo User +Subject: PGP Signed MIME Example +Message-ID: <577FD097.80100@example.com> +Date: Fri, 8 Jul 2016 18:11:03 +0200 +MIME-Version: 1.0 +Content-Type: multipart/signed; micalg=pgp-sha256; + protocol="application/pgp-signature"; + boundary="I6wEJC0As1Fsmsk8w6BE3bBJ5krGelhSH" + +This is an OpenPGP/MIME signed message (RFC 4880 and 3156) +--I6wEJC0As1Fsmsk8w6BE3bBJ5krGelhSH +Content-Type: multipart/mixed; boundary="xLaFe6afiX5jAh4uoCAIArNfomLiNoVSr" +From: Demo User +To: receiver@example.com +Message-ID: <577FD097.80100@example.com> +Subject: PGP Signed MIME Example + +--xLaFe6afiX5jAh4uoCAIArNfomLiNoVSr +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: quoted-printable + +Hello! + +This is a PGP MIME-signed message created for demo purposes of Google +Summer of Code 2016 - Mailhandler project. + +Best, +Milos + + +--xLaFe6afiX5jAh4uoCAIArNfomLiNoVSr-- + +--I6wEJC0As1Fsmsk8w6BE3bBJ5krGelhSH +Content-Type: application/pgp-signature; name="signature.asc" +Content-Description: OpenPGP digital signature +Content-Disposition: attachment; filename="signature.asc" + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 + +iQEcBAABCAAGBQJXgLB0AAoJEHOWpO1fXu1WDE4IAJ/glq33zmCmpe+ChxkAEM9J +uOIDGbYmi2kgW+QH3NJH69u5uAxBMTk70XPIjcjN+9s4SCUHA6ex7CE761nHpvHA +yWpvjF1RMPwv86vYMeNJcAgU/p8HYYEKdJXSZNG4di2Dw0x+C6s7lvHgPoZl1gs/ +5+afzUHKb/Xkz27LjHcP74y5VQO+pAjLtNP8zUA3E+x3TUo9lMciZxTX/xbUDNBx +EeLvQ0XKImPcVo1O8SkZ8Ix12W1q+jo7n6zNBuVsdvJo96lqW5RnF+yq2Hda9iy5 +9vvVCBBiqosxh8ItuFnjZGn0YWeIZafb8xlUyzJQ1nhg2hhlEnOcKXbk/xR3+z8= +=IgUc +-----END PGP SIGNATURE----- + +--I6wEJC0As1Fsmsk8w6BE3bBJ5krGelhSH-- diff --git a/mailhandler_d8_demo/eml/PGP_Signed_MIME_HTML.eml b/mailhandler_d8_demo/eml/PGP_Signed_MIME_HTML.eml new file mode 100644 index 0000000..7d44409 --- /dev/null +++ b/mailhandler_d8_demo/eml/PGP_Signed_MIME_HTML.eml @@ -0,0 +1,80 @@ +Delivery-date: Fri, 08 Jul 2016 09:19:50 -0700 +To: receiver@example.com +From: Demo User +Subject: PGP Signed MIME HTML Example +Message-ID: <577FD2A2.8000004@example.com> +Date: Fri, 8 Jul 2016 18:19:46 +0200 +MIME-Version: 1.0 +Content-Type: multipart/signed; micalg=pgp-sha256; + protocol="application/pgp-signature"; + boundary="jCWhqs2e833golsLLrPBOHqcDH9q2MmHi" + +This is an OpenPGP/MIME signed message (RFC 4880 and 3156) +--jCWhqs2e833golsLLrPBOHqcDH9q2MmHi +Content-Type: multipart/mixed; boundary="Kra4NIQpx6DSKti5xVGslOGVxgIroXkSi" +From: Demo User +To: receiver@example.com +Message-ID: <577FD2A2.8000004@example.com> +Subject: PGP Signed MIME HTML Example + +--Kra4NIQpx6DSKti5xVGslOGVxgIroXkSi +Content-Type: multipart/alternative; + boundary="------------010205090004080004060708" + +This is a multi-part message in MIME format. +--------------010205090004080004060708 +Content-Type: text/plain; charset=utf-8 +Content-Transfer-Encoding: quoted-printable + + + Hello! + +/This is a PGP MIME-signed message created for demo purposes of Google// +//Summer of Code 2016 - Mailhandler project./ + +Best, +_Milos_ + +--------------010205090004080004060708 +Content-Type: text/html; charset=utf-8 +Content-Transfer-Encoding: quoted-printable + + + + + + + +

Hello!

+ This is a PGP MIME-signed message created for demo purposes of + Google
+
Summer of Code 2016 - Mailhandler project.
+
+ Best,
+ Milos
+ + + +--------------010205090004080004060708-- + +--Kra4NIQpx6DSKti5xVGslOGVxgIroXkSi-- + +--jCWhqs2e833golsLLrPBOHqcDH9q2MmHi +Content-Type: application/pgp-signature; name="signature.asc" +Content-Description: OpenPGP digital signature +Content-Disposition: attachment; filename="signature.asc" + +-----BEGIN PGP SIGNATURE----- +Version: GnuPG v2 + +iQEcBAABCAAGBQJXgLS9AAoJEHOWpO1fXu1WMm4H/A6OKxG2Zz+LOGeYsS0u9IRs +2LnXJxRfczbGvKjhgppr7afrunwx1yAR7oVPCjSgPrHhNegcgoCwGwCoM0CB6e4T +TgG3AV1cq2mZB9TK/FB0PrKZVjhT7/XTwltBLLTtyyrhe0IDSZm3l9Hhn658A6s/ +bapAwXt5NodhaBmXQgyvBi4/h5zJmos+udLcNOvFkkk7r+n9AUVZptLpjcGwsnkN +H5tzO7lK2FtpSitd4KrvE9QFUvQe3s7SQpc/8cyNUMzuaVeYeKlz6m+GoWv3dMQo +KUFwr8Jv0pxRYuKZdgBCD7KOQxEk496xM1/Fn5NS/RZIe9NLRGO36Jr+blPGci0= +=BhGd +-----END PGP SIGNATURE----- + +--jCWhqs2e833golsLLrPBOHqcDH9q2MmHi-- diff --git a/mailhandler_d8_demo/keys/private.key b/mailhandler_d8_demo/keys/private.key new file mode 100644 index 0000000..8335953 --- /dev/null +++ b/mailhandler_d8_demo/keys/private.key @@ -0,0 +1,59 @@ +-----BEGIN PGP PRIVATE KEY BLOCK----- +Version: GnuPG v2 + +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 +YpjQg6kOqe/e1PIkERannrdtEkmC2ZeAy8Kv7A== +=ohQK +-----END PGP PRIVATE KEY BLOCK----- diff --git a/mailhandler_d8_demo/keys/public.key b/mailhandler_d8_demo/keys/public.key new file mode 100644 index 0000000..258c6f5 --- /dev/null +++ b/mailhandler_d8_demo/keys/public.key @@ -0,0 +1,30 @@ +-----BEGIN PGP PUBLIC KEY BLOCK----- +Version: GnuPG v2 + +mQENBFeAqH8BCADDZllIAgNWe9+S5ILL8O68xtsFWkcRZuwzIF3yJ3o94TtdAHxG +tx2O9oVlVoUSunwOv5XKCTVosz/67H7tY6WlUgzq03kPTcVZmvZAxr4yCS2SJylk +5WZoaypA8heeeJfI9Wqr5xIZ0zF8WP+LCPMcJtNf9lwJxw1D4B8k8FxRGMYWfBN8 ++imVphj3mBskCppLwBxZulkI9R5EF6cNsTvgM91gOOrglftoCUDQFuQc/GXvs+aV +CUA/8SVsFo3GqrVlFErnXYEw5ZPvOd52xxitQ1VzF9REqN9maJUJ2UjEZSHUaRi6 +JXbvt4OOFDLSW5Jft1EGxzbNLT3TILviJbNZABEBAAG0HERlbW8gVXNlciA8ZGVt +b0BleGFtcGxlLmNvbT6JATcEEwEIACEFAleAqH8CGwMFCwkIBwIGFQgJCgsCBBYC +AwECHgECF4AACgkQc5ak7V9e7VYoigf9HVL+sSMnlxMPNKuR/22ylozyvZ/lMZBj +dV3afSNrJajsCVjf/MZaZAGC9gL5yKfBYF0AxZV4nUVhPi9gy1crykbq//X4OIlW +Dz/OK3Cyh2BkfQJlMMw/KVYTqDJB+l6V83gIwgCxMSOScVE8+NauU+sjs2rEyYfN +YucrC8rJxxrhwHOKkQ+KrQOT4ZnM5fm20UbUZSsKUCc9EL75myc7fettEmiLJ/1R +iiu6/3zzHiYDeKGw0/dDAwvkYQNIKfR0uJhs2ylf53178I1q8z5alXIC+ZpO5u3t +iD5nry38ySLVZma4DIccI2R90fU+hf3srMWtN4xd0VRqrffg312y4bkBDQRXgKh/ +AQgA6ZAdHDcQPiBPtdBKwrPa/b3HI0cJqNCRpb4hPUlaQ1bgZA/15DrFz9MSYZF8 +fG1bDu3BPP23AkcPQ3Ozy4BM+bsEIo5nNp7KaopkcfRqAuUNmKry9A6hPhFqoPoh +Q55TLd9tfOfySoxG7ij8dyjGZ6HEywYrm8Lrq2f9HjzsL5x8xFW4vtEnbur09lKZ +zVMCRYA01cVMx9thgSE016HqLLQiofuXH9KTrImh6UMpuaV57HDkMpjtzNNj9yw6 +wqATCcGfImlhphmWzXVOuL0rGrqucs/VZm/brumaXr4L8N3XVf0iQkm55csrv3B6 +JqOz75SWydIGFjWFSuyRqodDMQARAQABiQEfBBgBCAAJBQJXgKh/AhsMAAoJEHOW +pO1fXu1W8fAH/A5r/4xjVV3oZBekcG995XsGl9GVvXZi+rHQVEO7bM94OdGetHN+ +IpXL32/3DGR8wfbMnhtQZW2N4PKvVe6rAKrTKxCR2fFeRgW/reyXXZnZn4Z7pOJN +vt2Tuo+VRYaLjHkVuSVQEY7Q61PUVvWFx/AsFptVdyv9SwIZMqSOGbrgXwZMQPIq +ZB1T6kLjlXCiOU2XDwQxi85+jxfJ27RalEP5KLKttOTtskDTur3II7QUWl5CEQCR +lf3JIKZJBhZx7EDL3OVLOC5p03CfBsqMwf1XYn3tsyjfaPkGCWlwgKDPbfwFCmKY +0IOpDqnv3tTyJBEWp563bRJJgtmXgMvCr+w= +=I/8L +-----END PGP PUBLIC KEY BLOCK----- \ No newline at end of file diff --git a/mailhandler_d8_demo/mailhandler_d8_demo.info.yml b/mailhandler_d8_demo/mailhandler_d8_demo.info.yml new file mode 100644 index 0000000..2a3662c --- /dev/null +++ b/mailhandler_d8_demo/mailhandler_d8_demo.info.yml @@ -0,0 +1,8 @@ +name: Mailhandler D8 Demo +type: module +description: An example module for Mailhandler module. +package: mailhandler +version: 8.x-1.x +core: 8.x +dependencies: + - inmail_demo diff --git a/mailhandler_d8_demo/mailhandler_d8_demo.install b/mailhandler_d8_demo/mailhandler_d8_demo.install new file mode 100644 index 0000000..cdf49fd --- /dev/null +++ b/mailhandler_d8_demo/mailhandler_d8_demo.install @@ -0,0 +1,54 @@ + 'mailhandler', + 'name' => t('Mailhandler'), + 'description' => t('Demo content type created to test Mailhandler module.'), + ]); + $mailhandler->save(); + } + + // Create "mailhandler" role. + if (!$role = Role::load('mailhandler')) { + $role = Role::create([ + 'id' => 'mailhandler', + 'label' => 'Mailhandler', + ]); + } + $role->grantPermission('create mailhandler content'); + $role->save(); + + // Get a demo public key. + $path = drupal_get_path('module', 'mailhandler_d8_demo') . '/keys/public.key'; + $public_key = file_get_contents(DRUPAL_ROOT . '/' . $path); + + // Create "mailhandler" user. + $users = \Drupal::entityTypeManager()->getStorage('user')->loadByProperties(['mail' => 'demo@example.com']); + if (!$demo = reset($users)) { + $demo = User::create([ + 'mail' => 'demo@example.com', + 'name' => 'Demo User', + 'status' => TRUE, + 'mailhandler_gpg_key' => [ + 'public_key' => $public_key, + 'fingerprint' => '266B764825A210EE327CE70F7396A4ED5F5EED56', + ], + ]); + } + $demo->addRole($role->id()); + $demo->save(); +}