aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--.gitmodules5
-rw-r--r--OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/tests/ProviderHelperKeyringTest.java2
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/COPYING13
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/README26
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000001-006.public_keybin0 -> 171 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000002-013.user_id1
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000003-002.sigbin0 -> 113 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000004-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000005-002.sigbin0 -> 113 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000006-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000007-002.sigbin0 -> 220 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000008-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000009-002.sigbin0 -> 158 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000010-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000011-002.sigbin0 -> 96 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000012-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000013-014.public_subkeybin0 -> 171 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000014-002.sigbin0 -> 195 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000015-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000016-006.public_keybin0 -> 1201 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000017-002.sigbin0 -> 123 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000018-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000019-013.user_id1
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000020-002.sigbin0 -> 130 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000021-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000022-002.sigbin0 -> 186 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000023-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000024-014.public_subkeybin0 -> 608 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000025-002.sigbin0 -> 105 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000026-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000027-006.public_keybin0 -> 421 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000028-002.sigbin0 -> 99 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000029-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000030-013.user_id1
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000031-002.sigbin0 -> 132 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000032-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000033-002.sigbin0 -> 96 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000034-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000035-006.public_keybin0 -> 143 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000036-013.user_id1
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000037-002.sigbin0 -> 192 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000038-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000039-002.sigbin0 -> 72 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000040-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000041-017.attributebin0 -> 1761 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000042-002.sigbin0 -> 192 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000043-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000044-014.public_subkeybin0 -> 272 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000045-002.sigbin0 -> 161 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000046-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000047-005.secret_keybin0 -> 610 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000048-013.user_id1
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000049-002.sigbin0 -> 220 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000050-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000051-007.secret_subkeybin0 -> 611 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000052-002.sigbin0 -> 195 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000053-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000054-005.secret_keybin0 -> 1275 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000055-002.sigbin0 -> 123 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000056-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000057-013.user_id1
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000058-002.sigbin0 -> 130 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000059-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000060-007.secret_subkeybin0 -> 698 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000061-002.sigbin0 -> 104 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000062-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000063-005.secret_keybin0 -> 484 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000064-002.sigbin0 -> 99 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000065-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000066-013.user_id1
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000067-002.sigbin0 -> 106 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000068-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000069-005.secret_keybin0 -> 513 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000070-013.user_id1
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000071-002.sigbin0 -> 192 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000072-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000073-017.attributebin0 -> 1761 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000074-002.sigbin0 -> 192 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000075-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000076-007.secret_subkeybin0 -> 961 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000077-002.sigbin0 -> 161 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000078-012.ring_trustbin0 -> 4 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/002182-002.sigbin0 -> 363 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/3F5BBA0B0694BEB6000005-002.sigbin0 -> 1089 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/3F5BBA0B0694BEB6000017-002.sigbin0 -> 1089 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/compressedsig-bzip2.gpgbin0 -> 442 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/compressedsig-zlib.gpgbin0 -> 322 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/compressedsig.gpgbin0 -> 324 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/onepass_sigbin0 -> 15 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/pubring.gpgbin0 -> 179272 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/secring.gpgbin0 -> 9329 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/symmetrically_encryptedbin0 -> 528 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/uncompressed-ops-dsa-sha384.txt.gpgbin0 -> 150 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/uncompressed-ops-dsa.gpgbin0 -> 150 bytes
-rw-r--r--OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/uncompressed-ops-rsa.gpgbin0 -> 236 bytes
m---------OpenKeychain-Test/src/test/resources/extern/OpenPGP-Haskell0
96 files changed, 49 insertions, 5 deletions
diff --git a/.gitmodules b/.gitmodules
index fc75dde7f..93ca9d49b 100644
--- a/.gitmodules
+++ b/.gitmodules
@@ -31,9 +31,6 @@
[submodule "extern/minidns"]
path = extern/minidns
url = https://github.com/open-keychain/minidns.git
-[submodule "OpenKeychain-Test/src/test/resources/extern/OpenPGP-Haskell"]
- path = OpenKeychain-Test/src/test/resources/extern/OpenPGP-Haskell
- url = https://github.com/singpolyma/OpenPGP-Haskell.git
[submodule "extern/openpgp-card-nfc-lib"]
path = extern/openpgp-card-nfc-lib
- url = https://github.com/open-keychain/openpgp-card-nfc-lib.git
+ url = https://github.com/open-keychain/openpgp-card-nfc-lib.git \ No newline at end of file
diff --git a/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/tests/ProviderHelperKeyringTest.java b/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/tests/ProviderHelperKeyringTest.java
index ab5c1f1ec..665e8ef2b 100644
--- a/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/tests/ProviderHelperKeyringTest.java
+++ b/OpenKeychain-Test/src/test/java/org/sufficientlysecure/keychain/tests/ProviderHelperKeyringTest.java
@@ -94,7 +94,7 @@ public class ProviderHelperKeyringTest {
private static Collection<String> prependResourcePath(Collection<String> files) {
Collection<String> prependedFiles = new ArrayList<String>();
for (String file: files) {
- prependedFiles.add("/extern/OpenPGP-Haskell/tests/data/" + file);
+ prependedFiles.add("/OpenPGP-Haskell/tests/data/" + file);
}
return prependedFiles;
}
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/COPYING b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/COPYING
new file mode 100644
index 000000000..55234e7a0
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/COPYING
@@ -0,0 +1,13 @@
+Copyright © 2011, Stephen Paul Weber <singpolyma.net>
+
+Permission to use, copy, modify, and/or distribute this software for any
+purpose with or without fee is hereby granted, provided that the above
+copyright notice and this permission notice appear in all copies.
+
+THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
+WITH REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF
+MERCHANTABILITY AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR
+ANY SPECIAL, DIRECT, INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES
+WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER IN AN
+ACTION OF CONTRACT, NEGLIGENCE OR OTHER TORTIOUS ACTION, ARISING OUT OF
+OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/README b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/README
new file mode 100644
index 000000000..cff696c83
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/README
@@ -0,0 +1,26 @@
+These test files were copied from the OpenPGP Haskell project.
+
+
+
+Original README
+===============
+
+This is an OpenPGP library inspired by my work on OpenPGP libraries in
+Ruby <https://github.com/singpolyma/openpgp>,
+PHP <http://github.com/singpolyma/openpgp-php>,
+and Python <https://github.com/singpolyma/OpenPGP-Python>.
+
+It defines types to represent OpenPGP messages as a series of packets
+and then defines instances of Data.Binary for each to facilitate
+encoding/decoding.
+
+For performing cryptography, see
+<http://hackage.haskell.org/package/openpgp-crypto-api> or
+<http://hackage.haskell.org/package/openpgp-Crypto>
+
+For dealing with ASCII armor, see
+<http://hackage.haskell.org/package/openpgp-asciiarmor>
+
+It is intended that you use qualified imports with this library.
+
+> import qualified Data.OpenPGP as OpenPGP
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000001-006.public_key b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000001-006.public_key
new file mode 100644
index 000000000..7cbab1782
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000001-006.public_key
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000002-013.user_id b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000002-013.user_id
new file mode 100644
index 000000000..759449bb4
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000002-013.user_id
@@ -0,0 +1 @@
+´$Test Key (RSA) <testkey@example.org> \ No newline at end of file
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000003-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000003-002.sig
new file mode 100644
index 000000000..1e0656d27
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000003-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000004-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000004-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000004-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000005-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000005-002.sig
new file mode 100644
index 000000000..108b99842
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000005-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000006-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000006-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000006-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000007-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000007-002.sig
new file mode 100644
index 000000000..14276d0a5
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000007-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000008-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000008-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000008-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000009-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000009-002.sig
new file mode 100644
index 000000000..4a282dd68
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000009-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000010-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000010-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000010-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000011-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000011-002.sig
new file mode 100644
index 000000000..cae1b7391
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000011-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000012-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000012-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000012-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000013-014.public_subkey b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000013-014.public_subkey
new file mode 100644
index 000000000..08676d067
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000013-014.public_subkey
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000014-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000014-002.sig
new file mode 100644
index 000000000..dd601807f
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000014-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000015-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000015-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000015-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000016-006.public_key b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000016-006.public_key
new file mode 100644
index 000000000..c9dccbf1e
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000016-006.public_key
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000017-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000017-002.sig
new file mode 100644
index 000000000..e734505a7
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000017-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000018-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000018-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000018-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000019-013.user_id b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000019-013.user_id
new file mode 100644
index 000000000..ab3f51d91
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000019-013.user_id
@@ -0,0 +1 @@
+´$Test Key (DSA) <testkey@example.com> \ No newline at end of file
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000020-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000020-002.sig
new file mode 100644
index 000000000..8588489a7
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000020-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000021-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000021-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000021-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000022-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000022-002.sig
new file mode 100644
index 000000000..fefcb5fea
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000022-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000023-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000023-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000023-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000024-014.public_subkey b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000024-014.public_subkey
new file mode 100644
index 000000000..2e8deea28
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000024-014.public_subkey
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000025-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000025-002.sig
new file mode 100644
index 000000000..a3eea0a20
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000025-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000026-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000026-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000026-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000027-006.public_key b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000027-006.public_key
new file mode 100644
index 000000000..5817e0037
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000027-006.public_key
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000028-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000028-002.sig
new file mode 100644
index 000000000..5194b7840
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000028-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000029-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000029-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000029-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000030-013.user_id b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000030-013.user_id
new file mode 100644
index 000000000..fb3f49e0d
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000030-013.user_id
@@ -0,0 +1 @@
+´+Test Key (DSA sign-only) <test@example.net> \ No newline at end of file
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000031-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000031-002.sig
new file mode 100644
index 000000000..f69f6875b
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000031-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000032-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000032-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000032-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000033-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000033-002.sig
new file mode 100644
index 000000000..2bb55d4fe
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000033-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000034-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000034-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000034-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000035-006.public_key b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000035-006.public_key
new file mode 100644
index 000000000..5980638c4
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000035-006.public_key
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000036-013.user_id b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000036-013.user_id
new file mode 100644
index 000000000..5d0d46e5d
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000036-013.user_id
@@ -0,0 +1 @@
+´.Test Key (RSA sign-only) <testkey@example.net> \ No newline at end of file
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000037-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000037-002.sig
new file mode 100644
index 000000000..833b563b2
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000037-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000038-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000038-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000038-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000039-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000039-002.sig
new file mode 100644
index 000000000..89c34fa5d
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000039-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000040-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000040-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000040-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000041-017.attribute b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000041-017.attribute
new file mode 100644
index 000000000..a21a82fb1
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000041-017.attribute
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000042-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000042-002.sig
new file mode 100644
index 000000000..fc6267fd0
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000042-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000043-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000043-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000043-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000044-014.public_subkey b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000044-014.public_subkey
new file mode 100644
index 000000000..06bf50e4f
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000044-014.public_subkey
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000045-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000045-002.sig
new file mode 100644
index 000000000..336eb0f24
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000045-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000046-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000046-012.ring_trust
new file mode 100644
index 000000000..ffa57e57a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000046-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000047-005.secret_key b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000047-005.secret_key
new file mode 100644
index 000000000..77b5d428a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000047-005.secret_key
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000048-013.user_id b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000048-013.user_id
new file mode 100644
index 000000000..759449bb4
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000048-013.user_id
@@ -0,0 +1 @@
+´$Test Key (RSA) <testkey@example.org> \ No newline at end of file
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000049-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000049-002.sig
new file mode 100644
index 000000000..14276d0a5
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000049-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000050-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000050-012.ring_trust
new file mode 100644
index 000000000..b1eeabb95
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000050-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000051-007.secret_subkey b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000051-007.secret_subkey
new file mode 100644
index 000000000..b4e65c92f
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000051-007.secret_subkey
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000052-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000052-002.sig
new file mode 100644
index 000000000..dd601807f
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000052-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000053-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000053-012.ring_trust
new file mode 100644
index 000000000..b1eeabb95
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000053-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000054-005.secret_key b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000054-005.secret_key
new file mode 100644
index 000000000..f153e5932
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000054-005.secret_key
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000055-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000055-002.sig
new file mode 100644
index 000000000..e734505a7
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000055-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000056-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000056-012.ring_trust
new file mode 100644
index 000000000..b1eeabb95
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000056-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000057-013.user_id b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000057-013.user_id
new file mode 100644
index 000000000..ab3f51d91
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000057-013.user_id
@@ -0,0 +1 @@
+´$Test Key (DSA) <testkey@example.com> \ No newline at end of file
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000058-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000058-002.sig
new file mode 100644
index 000000000..8588489a7
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000058-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000059-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000059-012.ring_trust
new file mode 100644
index 000000000..b1eeabb95
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000059-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000060-007.secret_subkey b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000060-007.secret_subkey
new file mode 100644
index 000000000..9df45f395
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000060-007.secret_subkey
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000061-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000061-002.sig
new file mode 100644
index 000000000..639494223
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000061-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000062-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000062-012.ring_trust
new file mode 100644
index 000000000..b1eeabb95
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000062-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000063-005.secret_key b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000063-005.secret_key
new file mode 100644
index 000000000..2f4268ee1
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000063-005.secret_key
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000064-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000064-002.sig
new file mode 100644
index 000000000..5194b7840
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000064-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000065-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000065-012.ring_trust
new file mode 100644
index 000000000..b1eeabb95
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000065-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000066-013.user_id b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000066-013.user_id
new file mode 100644
index 000000000..fb3f49e0d
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000066-013.user_id
@@ -0,0 +1 @@
+´+Test Key (DSA sign-only) <test@example.net> \ No newline at end of file
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000067-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000067-002.sig
new file mode 100644
index 000000000..d354e79df
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000067-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000068-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000068-012.ring_trust
new file mode 100644
index 000000000..b1eeabb95
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000068-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000069-005.secret_key b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000069-005.secret_key
new file mode 100644
index 000000000..17a2c354d
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000069-005.secret_key
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000070-013.user_id b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000070-013.user_id
new file mode 100644
index 000000000..5d0d46e5d
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000070-013.user_id
@@ -0,0 +1 @@
+´.Test Key (RSA sign-only) <testkey@example.net> \ No newline at end of file
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000071-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000071-002.sig
new file mode 100644
index 000000000..833b563b2
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000071-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000072-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000072-012.ring_trust
new file mode 100644
index 000000000..b1eeabb95
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000072-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000073-017.attribute b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000073-017.attribute
new file mode 100644
index 000000000..a21a82fb1
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000073-017.attribute
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000074-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000074-002.sig
new file mode 100644
index 000000000..fc6267fd0
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000074-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000075-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000075-012.ring_trust
new file mode 100644
index 000000000..b1eeabb95
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000075-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000076-007.secret_subkey b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000076-007.secret_subkey
new file mode 100644
index 000000000..b380339a4
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000076-007.secret_subkey
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000077-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000077-002.sig
new file mode 100644
index 000000000..336eb0f24
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000077-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000078-012.ring_trust b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000078-012.ring_trust
new file mode 100644
index 000000000..b1eeabb95
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/000078-012.ring_trust
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/002182-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/002182-002.sig
new file mode 100644
index 000000000..2bc6679f4
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/002182-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/3F5BBA0B0694BEB6000005-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/3F5BBA0B0694BEB6000005-002.sig
new file mode 100644
index 000000000..94055af66
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/3F5BBA0B0694BEB6000005-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/3F5BBA0B0694BEB6000017-002.sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/3F5BBA0B0694BEB6000017-002.sig
new file mode 100644
index 000000000..b22f23b91
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/3F5BBA0B0694BEB6000017-002.sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/compressedsig-bzip2.gpg b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/compressedsig-bzip2.gpg
new file mode 100644
index 000000000..87539dbe8
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/compressedsig-bzip2.gpg
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/compressedsig-zlib.gpg b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/compressedsig-zlib.gpg
new file mode 100644
index 000000000..4da4dfa99
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/compressedsig-zlib.gpg
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/compressedsig.gpg b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/compressedsig.gpg
new file mode 100644
index 000000000..dd617de13
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/compressedsig.gpg
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/onepass_sig b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/onepass_sig
new file mode 100644
index 000000000..87b2895ea
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/onepass_sig
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/pubring.gpg b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/pubring.gpg
new file mode 100644
index 000000000..a1519ee74
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/pubring.gpg
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/secring.gpg b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/secring.gpg
new file mode 100644
index 000000000..13598756a
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/secring.gpg
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/symmetrically_encrypted b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/symmetrically_encrypted
new file mode 100644
index 000000000..129155aa2
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/symmetrically_encrypted
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/uncompressed-ops-dsa-sha384.txt.gpg b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/uncompressed-ops-dsa-sha384.txt.gpg
new file mode 100644
index 000000000..39828fcae
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/uncompressed-ops-dsa-sha384.txt.gpg
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/uncompressed-ops-dsa.gpg b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/uncompressed-ops-dsa.gpg
new file mode 100644
index 000000000..97e7a267b
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/uncompressed-ops-dsa.gpg
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/uncompressed-ops-rsa.gpg b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/uncompressed-ops-rsa.gpg
new file mode 100644
index 000000000..7ae453da6
--- /dev/null
+++ b/OpenKeychain-Test/src/test/resources/OpenPGP-Haskell/tests/data/uncompressed-ops-rsa.gpg
Binary files differ
diff --git a/OpenKeychain-Test/src/test/resources/extern/OpenPGP-Haskell b/OpenKeychain-Test/src/test/resources/extern/OpenPGP-Haskell
deleted file mode 160000
-Subproject eba7e4fdce3de6622b4ec3862b405b0acd01637