summaryrefslogtreecommitdiff
path: root/test_data/dummy
diff options
context:
space:
mode:
Diffstat (limited to 'test_data/dummy')
-rw-r--r--test_data/dummy/empty0
-rw-r--r--test_data/dummy/empty.minisig4
-rwxr-xr-xtest_data/dummy/generate.sh61
-rwxr-xr-xtest_data/dummy/generate_forged.py37
-rw-r--r--test_data/dummy/no_list.json1
-rw-r--r--test_data/dummy/no_list.json.minisig4
-rw-r--r--test_data/dummy/organization_list.json1
-rw-r--r--test_data/dummy/organization_list.json.minisig4
-rw-r--r--test_data/dummy/organization_list.json.tc_servlist.minisig4
-rw-r--r--test_data/dummy/other_list.json1
-rw-r--r--test_data/dummy/other_list.json.minisig4
-rw-r--r--test_data/dummy/other_list.json.tc_servlist.minisig4
-rw-r--r--test_data/dummy/public.key2
-rw-r--r--test_data/dummy/random.txt1
-rw-r--r--test_data/dummy/random.txt.minisig4
-rw-r--r--test_data/dummy/secret.key2
-rw-r--r--test_data/dummy/server_list-large_time.json1
-rw-r--r--test_data/dummy/server_list-no_version.json1
-rw-r--r--test_data/dummy/server_list.json4
-rw-r--r--test_data/dummy/server_list.json.blake2b1
-rw-r--r--test_data/dummy/server_list.json.forged_keyid.minisig4
-rw-r--r--test_data/dummy/server_list.json.forged_pure.minisig4
-rw-r--r--test_data/dummy/server_list.json.large_time.minisig4
-rw-r--r--test_data/dummy/server_list.json.minisig4
-rw-r--r--test_data/dummy/server_list.json.no_version.minisig4
-rw-r--r--test_data/dummy/server_list.json.pure.minisig4
-rw-r--r--test_data/dummy/server_list.json.tc_earliertime.minisig4
-rw-r--r--test_data/dummy/server_list.json.tc_empty.minisig4
-rw-r--r--test_data/dummy/server_list.json.tc_emptyfile.minisig4
-rw-r--r--test_data/dummy/server_list.json.tc_emptytime.minisig4
-rw-r--r--test_data/dummy/server_list.json.tc_latertime.minisig4
-rw-r--r--test_data/dummy/server_list.json.tc_nofile.minisig4
-rw-r--r--test_data/dummy/server_list.json.tc_nohashed.minisig4
-rw-r--r--test_data/dummy/server_list.json.tc_notime.minisig4
-rw-r--r--test_data/dummy/server_list.json.tc_orglist.minisig4
-rw-r--r--test_data/dummy/server_list.json.tc_otherfile.minisig4
-rw-r--r--test_data/dummy/server_list.json.tc_random.minisig4
-rw-r--r--test_data/dummy/server_list.json.wrong_key.minisig4
-rw-r--r--test_data/dummy/wrong_public.key2
-rw-r--r--test_data/dummy/wrong_secret.key2
-rw-r--r--test_data/dummy/wrong_type1.json1
-rw-r--r--test_data/dummy/wrong_type1.json.minisig4
-rw-r--r--test_data/dummy/wrong_type2.json1
-rw-r--r--test_data/dummy/wrong_type2.json.minisig4
-rw-r--r--test_data/dummy/wrong_type3.json1
-rw-r--r--test_data/dummy/wrong_type3.json.minisig4
46 files changed, 232 insertions, 0 deletions
diff --git a/test_data/dummy/empty b/test_data/dummy/empty
new file mode 100644
index 0000000..e69de29
--- /dev/null
+++ b/test_data/dummy/empty
diff --git a/test_data/dummy/empty.minisig b/test_data/dummy/empty.minisig
new file mode 100644
index 0000000..d63a76b
--- /dev/null
+++ b/test_data/dummy/empty.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH37X0B74mktSw+uhv3eD71BHADzcpvP5eGU2lRX9a0MNk8TJj8nIOQJmJWHKi87o42MUYDLYrOvXRZdrUReaQLA0=
+trusted comment: time:10 file:server_list.json hashed
+4vDB1K8YvTX52NYN9NAEqYg39dRe60mBu93GxFmWHPdzAGzI8OKY9IuQhQrEyhEVjnrLBnQquWuBcA6oKjjOBw==
diff --git a/test_data/dummy/generate.sh b/test_data/dummy/generate.sh
new file mode 100755
index 0000000..69d9952
--- /dev/null
+++ b/test_data/dummy/generate.sh
@@ -0,0 +1,61 @@
+#!/bin/bash
+# Generate testcases with fake keys
+
+# Make sure we do not delete *.minisigs etc. anywhere
+if [ ${PWD##*/} != "dummy" ]
+then
+ >&2 echo "Wrong directory, should be run in dummy/"
+ exit 1
+fi
+
+rm -f *.minisig *.blake2b *.key
+
+echo -en "\n\n" | minisign -Gf -p public.key -s secret.key &
+echo -en "\n\n" | minisign -Gf -p wrong_public.key -s wrong_secret.key
+
+# Try to create pure signature with default Minisign (works with version < 0.10)
+echo | minisign -Sm server_list.json -x server_list.json.pure.minisig -t $'time:10\tfile:server_list.json' -s secret.key
+# Check if it is actually a prehashed signature
+if echo | minisign -VHm server_list.json -x server_list.json.pure.minisig -p public.key
+then
+ echo "minisign version is >0.9, trying minisign-0.9"
+ # If it is, try to sign with some minisign-0.9 program
+ if ! echo | minisign-0.9 -Sm server_list.json -x server_list.json.pure.minisig -t $'time:10\tfile:server_list.json' -s secret.key
+ then
+ >&2 echo -e "\n\nTo produce a non-prehashed signature we need Minisign 0.9\n\n"
+ fi
+fi
+
+# Rest works with Minisign 0.9 and 0.10 (and up, probably)
+
+echo | minisign -SHm server_list.json -t $'time:10\tfile:server_list.json\thashed' -s secret.key &
+echo | minisign -SHm server_list.json -x server_list.json.tc_nohashed.minisig -t $'time:10\tfile:server_list.json' -s secret.key
+echo | minisign -SHm server_list.json -x server_list.json.tc_latertime.minisig -t $'time:20\tfile:server_list.json\t hashed' -s secret.key &
+echo | minisign -SHm server_list.json -x server_list.json.tc_orglist.minisig -t $'time:10\tfile:organization_list.json\thashed' -s secret.key
+echo | minisign -SHm server_list.json -x server_list.json.tc_otherfile.minisig -t $'time:10\tfile:otherfile\thashed' -s secret.key &
+echo | minisign -SHm server_list.json -x server_list.json.tc_nofile.minisig -t $'time:10\thashed' -s secret.key
+echo | minisign -SHm server_list.json -x server_list.json.tc_notime.minisig -t $'file:server_list.json\thashed' -s secret.key &
+echo | minisign -SHm server_list.json -x server_list.json.tc_empty.minisig -t '' -s secret.key
+echo | minisign -SHm server_list.json -x server_list.json.tc_emptytime.minisig -t $'time:\tfile:server_list.json\thashed' -s secret.key &
+echo | minisign -SHm server_list.json -x server_list.json.tc_emptyfile.minisig -t $'time:10\tfile:\thashed' -s secret.key
+echo | minisign -SHm server_list.json -x server_list.json.tc_earliertime.minisig -t $'time:9\tfile:server_list.json\thashed' -s secret.key &
+echo | minisign -SHm server_list.json -x server_list.json.tc_random.minisig -t 'random stuff' -s secret.key
+echo | minisign -SHm server_list-large_time.json -x server_list.json.large_time.minisig -t $'time:4300000000\tfile:server_list.json' -s secret.key &
+echo | minisign -SHm server_list-no_version.json -x server_list.json.no_version.minisig -t $'time:10\tfile:server_list.json\thashed' -s secret.key
+
+echo | minisign -SHm organization_list.json -t $'time:10\tfile:organization_list.json\thashed' -s secret.key &
+echo | minisign -SHm organization_list.json -x organization_list.json.tc_servlist.minisig -t $'time:10\tfile:server_list.json\thashed' -s secret.key
+
+echo | minisign -SHm other_list.json -t $'time:10\tfile:other_list.json\thashed' -s secret.key &
+echo | minisign -SHm other_list.json -x other_list.json.tc_servlist.minisig -t $'time:10\tfile:server_list.json\thashed' -s secret.key
+echo | minisign -SHm no_list.json -t $'time:10\tfile:server_list.json\thashed' -s secret.key &
+echo | minisign -SHm random.txt -t $'time:10\tfile:server_list.json\thashed' -s secret.key
+echo | minisign -SHm empty -t $'time:10\tfile:server_list.json\thashed' -s secret.key &
+
+echo | minisign -SHm wrong_type1.json -t $'time:10\tfile:server_list.json\thashed' -s secret.key &
+echo | minisign -SHm wrong_type2.json -t $'time:10\tfile:server_list.json\thashed' -s secret.key
+echo | minisign -SHm wrong_type3.json -t $'time:10\tfile:server_list.json\thashed' -s secret.key &
+
+echo | minisign -SHm server_list.json -x server_list.json.wrong_key.minisig -t $'time:10\tfile:server_list.json\thashed' -s wrong_secret.key
+
+./generate_forged.py
diff --git a/test_data/dummy/generate_forged.py b/test_data/dummy/generate_forged.py
new file mode 100755
index 0000000..7832843
--- /dev/null
+++ b/test_data/dummy/generate_forged.py
@@ -0,0 +1,37 @@
+#!/usr/bin/env python3
+
+import hashlib
+import base64
+
+# Hash server_list.json
+
+with open("server_list.json", "rb") as f:
+ b = f.read()
+
+with open("server_list.json.blake2b", "wb") as f:
+ f.write(hashlib.blake2b(b).digest())
+
+# Forge pure signature on hash
+
+with open("server_list.json.minisig", "rb") as f:
+ siglines = f.readlines()
+
+siglines[0] = b"untrusted comment: this signature has ED changed to Ed\n"
+sig = base64.b64decode(siglines[1])
+siglines[1] = base64.b64encode(b"Ed" + sig[2:]) + b"\n"
+
+with open("server_list.json.forged_pure.minisig", "wb") as f:
+ f.writelines(siglines)
+ # Should now work: minisign -Vm server_list.json.blake2b -x server_list.json.forged_pure.minisig -p public-key
+
+# Try to forge key ID
+
+with open("server_list.json.wrong_key.minisig", "rb") as f:
+ siglines = f.readlines()
+
+siglines[0] = b"untrusted comment: this signature was created with wrong_secret.key but has key ID changed to that of public.key\n"
+sig_wrong = base64.b64decode(siglines[1])
+siglines[1] = base64.b64encode(sig_wrong[:2] + sig[2:2+8] + sig_wrong[2+8:]) + b"\n"
+
+with open("server_list.json.forged_keyid.minisig", "wb") as f:
+ f.writelines(siglines)
diff --git a/test_data/dummy/no_list.json b/test_data/dummy/no_list.json
new file mode 100644
index 0000000..6d526d9
--- /dev/null
+++ b/test_data/dummy/no_list.json
@@ -0,0 +1 @@
+{"v": 10} \ No newline at end of file
diff --git a/test_data/dummy/no_list.json.minisig b/test_data/dummy/no_list.json.minisig
new file mode 100644
index 0000000..b359bb0
--- /dev/null
+++ b/test_data/dummy/no_list.json.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH34PUZCgq9NLHNO0al3eYW2WIFrWRTopD+reJVDkKfmPCfjUWZoV6FwdDpOVLOe6lRFOurVq8g9TTgDM1Df+VHwo=
+trusted comment: time:10 file:server_list.json hashed
+6UryYyQ8yOGoZEBb0YFjluikcGgtlbHM+n7kBzKqesogsSwxGgRsyUCpZg6zVXMNA60WifPdTGM3826B0G1iCA==
diff --git a/test_data/dummy/organization_list.json b/test_data/dummy/organization_list.json
new file mode 100644
index 0000000..40659a6
--- /dev/null
+++ b/test_data/dummy/organization_list.json
@@ -0,0 +1 @@
+{"v": 10, "organization_list": [{}]} \ No newline at end of file
diff --git a/test_data/dummy/organization_list.json.minisig b/test_data/dummy/organization_list.json.minisig
new file mode 100644
index 0000000..15760af
--- /dev/null
+++ b/test_data/dummy/organization_list.json.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3+EAlVhHv1I/fTUYFhcvppPBjs4zjh3tVDBRvY2r6WjwjMRo1UGT+/5v1UDKF+IiodwilIWsLZ1e5he8N+fmhwc=
+trusted comment: time:10 file:organization_list.json hashed
+bTuXE4D9qBj/t432EVM6TPGqnhLXOeXm+J61pC62nHsv9sf2XAIfTVbigJEif6oq1Dcn6zV9fQtAJjz3AkiWCg==
diff --git a/test_data/dummy/organization_list.json.tc_servlist.minisig b/test_data/dummy/organization_list.json.tc_servlist.minisig
new file mode 100644
index 0000000..3a495af
--- /dev/null
+++ b/test_data/dummy/organization_list.json.tc_servlist.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3+EAlVhHv1I/fTUYFhcvppPBjs4zjh3tVDBRvY2r6WjwjMRo1UGT+/5v1UDKF+IiodwilIWsLZ1e5he8N+fmhwc=
+trusted comment: time:10 file:server_list.json hashed
+JLe4dI+Y91aGo/GECbOAMSZyI00IH8KATKHah8sofDNP8IofnerBaFr7EJll1OMDwG8LHERj+N/hxCLTLnAsCA==
diff --git a/test_data/dummy/other_list.json b/test_data/dummy/other_list.json
new file mode 100644
index 0000000..b9173b4
--- /dev/null
+++ b/test_data/dummy/other_list.json
@@ -0,0 +1 @@
+{"v": 10, "other_list": [{}]} \ No newline at end of file
diff --git a/test_data/dummy/other_list.json.minisig b/test_data/dummy/other_list.json.minisig
new file mode 100644
index 0000000..fdcc611
--- /dev/null
+++ b/test_data/dummy/other_list.json.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3zw6RcbqKoo6TF0SC9VSoMXYdlCKv/UYe+MwB02RahrQiz0GRXvjQCTqIk285ACFDa/zvbQT+6Pz9qPdQbFfJwo=
+trusted comment: time:10 file:other_list.json hashed
+0/XK9VogUrpXItEzxgVJQ6up6Q4W+yesOD2MMgxk8BRgyCZMe6OlnynWZ3RjAARVYGInE8DdTFVuGlbvxCdoBg==
diff --git a/test_data/dummy/other_list.json.tc_servlist.minisig b/test_data/dummy/other_list.json.tc_servlist.minisig
new file mode 100644
index 0000000..f2305c0
--- /dev/null
+++ b/test_data/dummy/other_list.json.tc_servlist.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3zw6RcbqKoo6TF0SC9VSoMXYdlCKv/UYe+MwB02RahrQiz0GRXvjQCTqIk285ACFDa/zvbQT+6Pz9qPdQbFfJwo=
+trusted comment: time:10 file:server_list.json hashed
+vVRdITGMjSGAw5aVX+Dhyv3qSSF36icev2isJ9BhebG20pXU8h8+y2sTwbrtEYmhbfYz4Zoh6dCPIRTr5VMHDA==
diff --git a/test_data/dummy/public.key b/test_data/dummy/public.key
new file mode 100644
index 0000000..72676d3
--- /dev/null
+++ b/test_data/dummy/public.key
@@ -0,0 +1,2 @@
+untrusted comment: minisign public key DF07F868DFAB9B4C
+RWRMm6vfaPgH39iT++NBiUKZim2nDWnalgkNROovPbZdSwVFgUdKU4ac
diff --git a/test_data/dummy/random.txt b/test_data/dummy/random.txt
new file mode 100644
index 0000000..b6fc4c6
--- /dev/null
+++ b/test_data/dummy/random.txt
@@ -0,0 +1 @@
+hello \ No newline at end of file
diff --git a/test_data/dummy/random.txt.minisig b/test_data/dummy/random.txt.minisig
new file mode 100644
index 0000000..4bebf22
--- /dev/null
+++ b/test_data/dummy/random.txt.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH35niInKYye9FSII9DPlEUaFThD8gytCLidh6UlwWY1nKrWzj3uJU9Wpixsy4WNTFs+C2U/L6GEL4UpyqmSYxvAs=
+trusted comment: time:10 file:server_list.json hashed
+ugN/DFNQnfPlaq7mHN3BAA78BiajMx6V6fIMqCzzw2lfZ3CZf5IJqvFoers4nd5mcRU+h0+K1CXtSQ0H3QqrCw==
diff --git a/test_data/dummy/secret.key b/test_data/dummy/secret.key
new file mode 100644
index 0000000..6e4af37
--- /dev/null
+++ b/test_data/dummy/secret.key
@@ -0,0 +1,2 @@
+untrusted comment: minisign encrypted secret key
+RWRTY0IyobkTOt4ugAHNTPB6zOxHgX8spW6HQWddB5IrdCPDAgsAAAACAAAAAAAAAEAAAAAAvK1S1gsOgozZHuIdLWXq1IwxnWVr+dlySiykTbO6F85HvzPtgxZ7oLcGkT/vPdskAh0SV9H2ylHlt9oarXcWNDKs2r6EcZw/qy5FsD+5uhPfxwWV4qDF+1G456tYDYID63d50CgzdO0=
diff --git a/test_data/dummy/server_list-large_time.json b/test_data/dummy/server_list-large_time.json
new file mode 100644
index 0000000..dd68dbf
--- /dev/null
+++ b/test_data/dummy/server_list-large_time.json
@@ -0,0 +1 @@
+{"v": 4300000000, "server_list": [{}]} \ No newline at end of file
diff --git a/test_data/dummy/server_list-no_version.json b/test_data/dummy/server_list-no_version.json
new file mode 100644
index 0000000..870f603
--- /dev/null
+++ b/test_data/dummy/server_list-no_version.json
@@ -0,0 +1 @@
+{"server_list": [{}]} \ No newline at end of file
diff --git a/test_data/dummy/server_list.json b/test_data/dummy/server_list.json
new file mode 100644
index 0000000..cd7a2fc
--- /dev/null
+++ b/test_data/dummy/server_list.json
@@ -0,0 +1,4 @@
+{
+"v": 10,
+"server_list": [{}]
+} \ No newline at end of file
diff --git a/test_data/dummy/server_list.json.blake2b b/test_data/dummy/server_list.json.blake2b
new file mode 100644
index 0000000..fa518b0
--- /dev/null
+++ b/test_data/dummy/server_list.json.blake2b
@@ -0,0 +1 @@
+_v~1k=\Ao.n CJPrF2 J9'0S 4lEI$ \ No newline at end of file
diff --git a/test_data/dummy/server_list.json.forged_keyid.minisig b/test_data/dummy/server_list.json.forged_keyid.minisig
new file mode 100644
index 0000000..47bf07c
--- /dev/null
+++ b/test_data/dummy/server_list.json.forged_keyid.minisig
@@ -0,0 +1,4 @@
+untrusted comment: this signature was created with wrong_secret.key but has key ID changed to that of public.key
+RURMm6vfaPgH34YqePnvXzZNdensQNeTgKBNU/VlClWSLnReSChya50QL1IDQ5HIcvoldxQXIsN5lPq26QXCyo20n1SSJdHBdgA=
+trusted comment: time:10 file:server_list.json hashed
+TkBoQ63jJwklgf33e1VFNTMaEgCF69Z+bcWpy/1phkJ4Dkol0Z/pYniK3ffjWOg3Y4vysNvzsMmZbbayd4nzCw==
diff --git a/test_data/dummy/server_list.json.forged_pure.minisig b/test_data/dummy/server_list.json.forged_pure.minisig
new file mode 100644
index 0000000..821e5bf
--- /dev/null
+++ b/test_data/dummy/server_list.json.forged_pure.minisig
@@ -0,0 +1,4 @@
+untrusted comment: this signature has ED changed to Ed
+RWRMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM=
+trusted comment: time:10 file:server_list.json hashed
+PZKFWM7fEW/JuAN7NU06D0izv5gs1E1jknwcmw/KsW27G0byCt/BE7gp57WGsiYf95dfEQ/kCXrlyt0DI4UTCA==
diff --git a/test_data/dummy/server_list.json.large_time.minisig b/test_data/dummy/server_list.json.large_time.minisig
new file mode 100644
index 0000000..716533c
--- /dev/null
+++ b/test_data/dummy/server_list.json.large_time.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3xz7UhLjwbpWw7WZZN/GnSx2nOsrJsaDWhuNuK0WOzlWBwnYUrjFiLTPYtQa+go6/N/2EXM02EQyj0ELqV3K0wk=
+trusted comment: time:4300000000 file:server_list.json
+rGuS5UfZfWGBaJoDPNIP7/tmO9++5iifsldkuESjTfFgll2MxgesjAxnVZsAYSFOWRav2n2P6i9K2vhAvk3LCQ==
diff --git a/test_data/dummy/server_list.json.minisig b/test_data/dummy/server_list.json.minisig
new file mode 100644
index 0000000..0bc678d
--- /dev/null
+++ b/test_data/dummy/server_list.json.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM=
+trusted comment: time:10 file:server_list.json hashed
+PZKFWM7fEW/JuAN7NU06D0izv5gs1E1jknwcmw/KsW27G0byCt/BE7gp57WGsiYf95dfEQ/kCXrlyt0DI4UTCA==
diff --git a/test_data/dummy/server_list.json.no_version.minisig b/test_data/dummy/server_list.json.no_version.minisig
new file mode 100644
index 0000000..1ee89eb
--- /dev/null
+++ b/test_data/dummy/server_list.json.no_version.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH32KZmkXL8p9XSeoCfrxvEt1kTYz4pM6+CJqgQXzNIxXJcfqlq9jjfpaXS2txPZVvmBZbzHzdSO16KikdzuWKnAk=
+trusted comment: time:10 file:server_list.json hashed
+ZmvB/bPjBxt7iJquAIEfd8YK8VTLIcdr848MEY/is8f+c1yUFJM+VLtiSbwCFRyUA6QxVOhL2uzAoJobFRNSBw==
diff --git a/test_data/dummy/server_list.json.pure.minisig b/test_data/dummy/server_list.json.pure.minisig
new file mode 100644
index 0000000..9dee5ed
--- /dev/null
+++ b/test_data/dummy/server_list.json.pure.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RWRMm6vfaPgH33qxh/XhkHg66QQ+h62gXr0tzFexMBWpehd0OKb5EtSyXCvx3WuUqEPvv0ybFIqkSiyK6d5BdqKA3hCJoh/HYwQ=
+trusted comment: time:10 file:server_list.json
+a5AITiKYoSwoxKJNZXynQT9QzImQbVDbrYRZACmoTKo1a+IT39KYFf+J2jTmvmtCY5SiwxllpL3geqyLI2f6DA==
diff --git a/test_data/dummy/server_list.json.tc_earliertime.minisig b/test_data/dummy/server_list.json.tc_earliertime.minisig
new file mode 100644
index 0000000..1f5407d
--- /dev/null
+++ b/test_data/dummy/server_list.json.tc_earliertime.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM=
+trusted comment: time:9 file:server_list.json hashed
+YXlLbjHKeKYI97nPVoSLN1AJEUY5wRc4BRhTbfTWPoEqlvHnpnt6gUCtngixxl/IBGEl/Qf2vCjH038yfMQtCQ==
diff --git a/test_data/dummy/server_list.json.tc_empty.minisig b/test_data/dummy/server_list.json.tc_empty.minisig
new file mode 100644
index 0000000..baa93e0
--- /dev/null
+++ b/test_data/dummy/server_list.json.tc_empty.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM=
+trusted comment: timestamp:1637322161 file:server_list.json hashed
+mTVMv0mLZ6aY9dyoB+5yWW2paJ2LOxL2JWkuvxWNeJlQKzn3ahbvKGpqdP6yGAC7M62lEu3HoylNGXlIVQTbCQ==
diff --git a/test_data/dummy/server_list.json.tc_emptyfile.minisig b/test_data/dummy/server_list.json.tc_emptyfile.minisig
new file mode 100644
index 0000000..6f89134
--- /dev/null
+++ b/test_data/dummy/server_list.json.tc_emptyfile.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM=
+trusted comment: time:10 file: hashed
+jbBOp/ybVcVaNhxtY7lpHJXl67hcKv3eFFQm3Ru3CvPYqZT0Nm+ngxdrkOSRCyapkoeGvCnZCu7e4+r3o+LsAw==
diff --git a/test_data/dummy/server_list.json.tc_emptytime.minisig b/test_data/dummy/server_list.json.tc_emptytime.minisig
new file mode 100644
index 0000000..a054aaf
--- /dev/null
+++ b/test_data/dummy/server_list.json.tc_emptytime.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM=
+trusted comment: time: file:server_list.json hashed
+BHCejIb7+6MPvvGBDxqOiKlv0vB6WZvddysRnZ9ft7juyKnyKP8Dg8wgTTeX5H+MYhtlUXQVPfmoZuQZ3XbpCQ==
diff --git a/test_data/dummy/server_list.json.tc_latertime.minisig b/test_data/dummy/server_list.json.tc_latertime.minisig
new file mode 100644
index 0000000..0d1a1be
--- /dev/null
+++ b/test_data/dummy/server_list.json.tc_latertime.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM=
+trusted comment: time:20 file:server_list.json hashed
+q9XqDjz48KQ3kMadxNaLdaDj7+pTp90wuGkyxCLPbXkididT3z6XSeDIyRWQc6pyO9BeYH3+YGnyNBO4ZBeXBQ==
diff --git a/test_data/dummy/server_list.json.tc_nofile.minisig b/test_data/dummy/server_list.json.tc_nofile.minisig
new file mode 100644
index 0000000..522dc6b
--- /dev/null
+++ b/test_data/dummy/server_list.json.tc_nofile.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM=
+trusted comment: time:10 hashed
+A2gg8KicLynEzUVDXSoaMu8kfZSJmlsbdrX6BZk6rUSbrmbxpmJgzlrjHUssnmF8grD0icITZEezu+8oLKjiCQ==
diff --git a/test_data/dummy/server_list.json.tc_nohashed.minisig b/test_data/dummy/server_list.json.tc_nohashed.minisig
new file mode 100644
index 0000000..eac9e8f
--- /dev/null
+++ b/test_data/dummy/server_list.json.tc_nohashed.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM=
+trusted comment: time:10 file:server_list.json
+PWoIk5cpXbX1vL9FA0baUhuxzpNs37gzMoTxCihmF/toveW9A6e+A6T2L3ZVKAVeYgUd8auEi7FV86mTSv1uCQ==
diff --git a/test_data/dummy/server_list.json.tc_notime.minisig b/test_data/dummy/server_list.json.tc_notime.minisig
new file mode 100644
index 0000000..01e3ea5
--- /dev/null
+++ b/test_data/dummy/server_list.json.tc_notime.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM=
+trusted comment: file:server_list.json hashed
+Owcrjq/DWzW65CLkPSuppImezsXUYa+xxFnZLhHYucGF7aZgttQ/fPandETYR7G/XIDQOQNjqD51BxrYS3d2CA==
diff --git a/test_data/dummy/server_list.json.tc_orglist.minisig b/test_data/dummy/server_list.json.tc_orglist.minisig
new file mode 100644
index 0000000..bcf1c2e
--- /dev/null
+++ b/test_data/dummy/server_list.json.tc_orglist.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM=
+trusted comment: time:10 file:organization_list.json hashed
+04HDmk6F8yhihM2yneLzdUwf9PQXdTqtFohqCsYet56ZaFM4vsO6wY3uKLZxTO4xC5ka2FOl55f3r9MmwIVmDg==
diff --git a/test_data/dummy/server_list.json.tc_otherfile.minisig b/test_data/dummy/server_list.json.tc_otherfile.minisig
new file mode 100644
index 0000000..892664e
--- /dev/null
+++ b/test_data/dummy/server_list.json.tc_otherfile.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM=
+trusted comment: time:10 file:otherfile hashed
+YA5/MpBijzTvgGXoUoM39E711qsuetU99oU9piE9bVjUbvswYVI91daasCMhUwO6mYLQVSfKOH1YKPiyn68PBQ==
diff --git a/test_data/dummy/server_list.json.tc_random.minisig b/test_data/dummy/server_list.json.tc_random.minisig
new file mode 100644
index 0000000..f2d110d
--- /dev/null
+++ b/test_data/dummy/server_list.json.tc_random.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM=
+trusted comment: random stuff
+uK7FrBokCVKCRJygshKKXJ6OpMFhxpeZShHO/QZW/YfIeioozN/zCGJLDEPpxtNGdz9fjRYOZElXOPWEkjUeAA==
diff --git a/test_data/dummy/server_list.json.wrong_key.minisig b/test_data/dummy/server_list.json.wrong_key.minisig
new file mode 100644
index 0000000..9d70d07
--- /dev/null
+++ b/test_data/dummy/server_list.json.wrong_key.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RUTQvDHvQuYCCIYqePnvXzZNdensQNeTgKBNU/VlClWSLnReSChya50QL1IDQ5HIcvoldxQXIsN5lPq26QXCyo20n1SSJdHBdgA=
+trusted comment: time:10 file:server_list.json hashed
+TkBoQ63jJwklgf33e1VFNTMaEgCF69Z+bcWpy/1phkJ4Dkol0Z/pYniK3ffjWOg3Y4vysNvzsMmZbbayd4nzCw==
diff --git a/test_data/dummy/wrong_public.key b/test_data/dummy/wrong_public.key
new file mode 100644
index 0000000..aa794d4
--- /dev/null
+++ b/test_data/dummy/wrong_public.key
@@ -0,0 +1,2 @@
+untrusted comment: minisign public key 802E642EF31BCD0
+RWTQvDHvQuYCCPDLi3UCXzj3BbzFM5QxUFfrp174iaqYo8lT0VaAkhOt
diff --git a/test_data/dummy/wrong_secret.key b/test_data/dummy/wrong_secret.key
new file mode 100644
index 0000000..68e9092
--- /dev/null
+++ b/test_data/dummy/wrong_secret.key
@@ -0,0 +1,2 @@
+untrusted comment: minisign encrypted secret key
+RWRTY0Iyrc2CTG2W1ZqEq9tb94oQWTnYUy4k8boMf13478FwlDYAAAACAAAAAAAAAEAAAAAA2gFhwOtjETu5WN1LpgtJHV1dk/7466LBJ8dgO/pZoQ3LLAYxlswJHVR/N/Q1HmmKvlxWo2jNTJcARXuHHlMTEgg1MERTldE88CqETrVbvq1JaqJlAY/HMkiqNEUR3L6+5VHbYPKXlVQ=
diff --git a/test_data/dummy/wrong_type1.json b/test_data/dummy/wrong_type1.json
new file mode 100644
index 0000000..8241718
--- /dev/null
+++ b/test_data/dummy/wrong_type1.json
@@ -0,0 +1 @@
+{"v": {}, "server_list": [{}]} \ No newline at end of file
diff --git a/test_data/dummy/wrong_type1.json.minisig b/test_data/dummy/wrong_type1.json.minisig
new file mode 100644
index 0000000..369a3c7
--- /dev/null
+++ b/test_data/dummy/wrong_type1.json.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH31l/yZFL9ZtzF0uopg94DkRwFhqivDFdhwyC3KeeiyWC2+k4RFcxXQ70nbiPiiUvYhZDelNQE9eiuwR8Msz5RwQ=
+trusted comment: time:10 file:server_list.json hashed
+dGVmCcH0TgagA304aH+mU1lfVGQfjyNBdRLNV0AgN5+av4Doo1MvlN/6iqj5uqhj1JxuKioFHimQJMZxjRMuAw==
diff --git a/test_data/dummy/wrong_type2.json b/test_data/dummy/wrong_type2.json
new file mode 100644
index 0000000..224f9f8
--- /dev/null
+++ b/test_data/dummy/wrong_type2.json
@@ -0,0 +1 @@
+{"v": 10, "server_list": 42} \ No newline at end of file
diff --git a/test_data/dummy/wrong_type2.json.minisig b/test_data/dummy/wrong_type2.json.minisig
new file mode 100644
index 0000000..b507c06
--- /dev/null
+++ b/test_data/dummy/wrong_type2.json.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH34jiRAX3xRpwqO5RT2PoE8G4mu47CXqzBGxBGvR/MnnFGB8ikiXVaVdOlNw2bkY302JuLrnDH9guN2yJejeX0Ao=
+trusted comment: time:10 file:server_list.json hashed
+bgA9ykDic66+AKw2cWC+uY5uFzzeHGDqpvQn/lAxL9/VTOLU8pO/NkHbuwtz1hCqlr3e7w1IYYo/opDz4s4pAg==
diff --git a/test_data/dummy/wrong_type3.json b/test_data/dummy/wrong_type3.json
new file mode 100644
index 0000000..f70d7bb
--- /dev/null
+++ b/test_data/dummy/wrong_type3.json
@@ -0,0 +1 @@
+42 \ No newline at end of file
diff --git a/test_data/dummy/wrong_type3.json.minisig b/test_data/dummy/wrong_type3.json.minisig
new file mode 100644
index 0000000..136a5a8
--- /dev/null
+++ b/test_data/dummy/wrong_type3.json.minisig
@@ -0,0 +1,4 @@
+untrusted comment: signature from minisign secret key
+RURMm6vfaPgH37A7gjExlbC4/GAkHE+YjPIOri/ojanNWI0GcvEO6kjphC7eoQNFHht1bDjN+CSGwKC5aG+6uXxkIo1KHCS7BwE=
+trusted comment: time:10 file:server_list.json hashed
+tk3DOFgX+GdVgo0amxZO1luPVbw0qxC8iRzVjMmKYmOuGyw0LUGr7sEYkWXhA6RnN4SK42T15Qe9XQsoBtK7Bw==