From b54102405b2ba67a9a9040a4f342b37f5cc87bf0 Mon Sep 17 00:00:00 2001 From: StevenWdV Date: Fri, 19 Nov 2021 15:40:04 +0100 Subject: Pin line endings in JSON files to \n to fix tests. Remove broken empty TC testcase. Add testcase for old TC with "timestamp:" --- .gitattributes | 1 + test_data/dummy/generate.sh | 12 ++++++------ test_data/dummy/server_list.json.minisig | 4 ++-- test_data/dummy/server_list.json.tc_earliertime.minisig | 4 ++-- test_data/dummy/server_list.json.tc_empty.minisig | 4 ---- test_data/dummy/server_list.json.tc_emptyfile.minisig | 4 ++-- test_data/dummy/server_list.json.tc_emptytime.minisig | 4 ++-- test_data/dummy/server_list.json.tc_latertime.minisig | 4 ++-- test_data/dummy/server_list.json.tc_nofile.minisig | 4 ++-- test_data/dummy/server_list.json.tc_nohashed.minisig | 4 ++-- test_data/dummy/server_list.json.tc_notime.minisig | 4 ++-- test_data/dummy/server_list.json.tc_orglist.minisig | 4 ++-- test_data/dummy/server_list.json.tc_otherfile.minisig | 4 ++-- test_data/dummy/server_list.json.tc_random.minisig | 4 ++-- test_data/dummy/server_list.json.tc_timestamp.minisig | 4 ++++ verify.go | 9 ++++++--- verify_test.go | 2 +- 17 files changed, 40 insertions(+), 36 deletions(-) create mode 100644 .gitattributes delete mode 100644 test_data/dummy/server_list.json.tc_empty.minisig create mode 100644 test_data/dummy/server_list.json.tc_timestamp.minisig diff --git a/.gitattributes b/.gitattributes new file mode 100644 index 0000000..818f700 --- /dev/null +++ b/.gitattributes @@ -0,0 +1 @@ +**/test_data/**.json !eol \ No newline at end of file diff --git a/test_data/dummy/generate.sh b/test_data/dummy/generate.sh index 816b3c9..c1827eb 100755 --- a/test_data/dummy/generate.sh +++ b/test_data/dummy/generate.sh @@ -30,6 +30,7 @@ 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_timestamp.minisig -t $'timestamp: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 & @@ -37,32 +38,31 @@ wait 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 & -wait echo | minisign -SHm server_list.json -x server_list.json.tc_emptytime.minisig -t $'time:\tfile:server_list.json\thashed' -s secret.key & +wait 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 & -wait 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 & +wait 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 & -wait echo | minisign -SHm other_list.json -t $'time:10\tfile:other_list.json\thashed' -s secret.key & +wait 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 & -wait echo | minisign -SHm empty -t $'time:10\tfile:server_list.json\thashed' -s secret.key & +wait 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 & -wait 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 +wait ./generate_forged.py diff --git a/test_data/dummy/server_list.json.minisig b/test_data/dummy/server_list.json.minisig index 0bc678d..97841ff 100644 --- a/test_data/dummy/server_list.json.minisig +++ b/test_data/dummy/server_list.json.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key -RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM= +RURMm6vfaPgH3+eU+m5mSKM6lHt8iJ3ZpT6Cpz9DFsVPN6P8mmvkVZzsPH3L4PukBxglWAlppOBPkFc4rOJZT/Wr2FGGuqTZywY= trusted comment: time:10 file:server_list.json hashed -PZKFWM7fEW/JuAN7NU06D0izv5gs1E1jknwcmw/KsW27G0byCt/BE7gp57WGsiYf95dfEQ/kCXrlyt0DI4UTCA== +P12W9POiQIpCupKMatkUFbX5aaY85rsE9UEvgUpc7AN0icIAh7P8s/obhlJlq9vAtg+l9vxVamZAJBI0R2FuBw== diff --git a/test_data/dummy/server_list.json.tc_earliertime.minisig b/test_data/dummy/server_list.json.tc_earliertime.minisig index 1f5407d..7f1aa5e 100644 --- a/test_data/dummy/server_list.json.tc_earliertime.minisig +++ b/test_data/dummy/server_list.json.tc_earliertime.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key -RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM= +RURMm6vfaPgH3+eU+m5mSKM6lHt8iJ3ZpT6Cpz9DFsVPN6P8mmvkVZzsPH3L4PukBxglWAlppOBPkFc4rOJZT/Wr2FGGuqTZywY= trusted comment: time:9 file:server_list.json hashed -YXlLbjHKeKYI97nPVoSLN1AJEUY5wRc4BRhTbfTWPoEqlvHnpnt6gUCtngixxl/IBGEl/Qf2vCjH038yfMQtCQ== +Ba+AQWYfoujiqymAllki84OmuSqPKSD4CKSN2yKlirAOhNG0FSkMZ+j521ffVcTRlkvs1ryp4GGrZi6MNmk1Aw== diff --git a/test_data/dummy/server_list.json.tc_empty.minisig b/test_data/dummy/server_list.json.tc_empty.minisig deleted file mode 100644 index baa93e0..0000000 --- a/test_data/dummy/server_list.json.tc_empty.minisig +++ /dev/null @@ -1,4 +0,0 @@ -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 index 6f89134..7b0e610 100644 --- a/test_data/dummy/server_list.json.tc_emptyfile.minisig +++ b/test_data/dummy/server_list.json.tc_emptyfile.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key -RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM= +RURMm6vfaPgH3+eU+m5mSKM6lHt8iJ3ZpT6Cpz9DFsVPN6P8mmvkVZzsPH3L4PukBxglWAlppOBPkFc4rOJZT/Wr2FGGuqTZywY= trusted comment: time:10 file: hashed -jbBOp/ybVcVaNhxtY7lpHJXl67hcKv3eFFQm3Ru3CvPYqZT0Nm+ngxdrkOSRCyapkoeGvCnZCu7e4+r3o+LsAw== +jjmfi1WClEhVrKAWDi9aogmy8uJe9uzp431AsuWXWKUID1SPOmDE93ev+gKI3eciXg6K3me/H+95/C+78tkDBA== diff --git a/test_data/dummy/server_list.json.tc_emptytime.minisig b/test_data/dummy/server_list.json.tc_emptytime.minisig index a054aaf..d88c650 100644 --- a/test_data/dummy/server_list.json.tc_emptytime.minisig +++ b/test_data/dummy/server_list.json.tc_emptytime.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key -RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM= +RURMm6vfaPgH3+eU+m5mSKM6lHt8iJ3ZpT6Cpz9DFsVPN6P8mmvkVZzsPH3L4PukBxglWAlppOBPkFc4rOJZT/Wr2FGGuqTZywY= trusted comment: time: file:server_list.json hashed -BHCejIb7+6MPvvGBDxqOiKlv0vB6WZvddysRnZ9ft7juyKnyKP8Dg8wgTTeX5H+MYhtlUXQVPfmoZuQZ3XbpCQ== +t87/shYCuHQD4UlmpgGCoCtBiaB40Vk4+bQhB8eHDQiIoMD8TrMppmwbzWEYycTMK87uIZkHpqWwRvxwcCNBCw== diff --git a/test_data/dummy/server_list.json.tc_latertime.minisig b/test_data/dummy/server_list.json.tc_latertime.minisig index 0d1a1be..c3d02cd 100644 --- a/test_data/dummy/server_list.json.tc_latertime.minisig +++ b/test_data/dummy/server_list.json.tc_latertime.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key -RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM= +RURMm6vfaPgH3+eU+m5mSKM6lHt8iJ3ZpT6Cpz9DFsVPN6P8mmvkVZzsPH3L4PukBxglWAlppOBPkFc4rOJZT/Wr2FGGuqTZywY= trusted comment: time:20 file:server_list.json hashed -q9XqDjz48KQ3kMadxNaLdaDj7+pTp90wuGkyxCLPbXkididT3z6XSeDIyRWQc6pyO9BeYH3+YGnyNBO4ZBeXBQ== +Rvt3o0yRvL1eMwR8611IsK9Mbm/Z6cYXZQ78QFOtw7qaRtsxYCJ19VCeadZpRTyb7mcCuhYIO0xKn2bBxDgKDw== diff --git a/test_data/dummy/server_list.json.tc_nofile.minisig b/test_data/dummy/server_list.json.tc_nofile.minisig index 522dc6b..62fb2fe 100644 --- a/test_data/dummy/server_list.json.tc_nofile.minisig +++ b/test_data/dummy/server_list.json.tc_nofile.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key -RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM= +RURMm6vfaPgH3+eU+m5mSKM6lHt8iJ3ZpT6Cpz9DFsVPN6P8mmvkVZzsPH3L4PukBxglWAlppOBPkFc4rOJZT/Wr2FGGuqTZywY= trusted comment: time:10 hashed -A2gg8KicLynEzUVDXSoaMu8kfZSJmlsbdrX6BZk6rUSbrmbxpmJgzlrjHUssnmF8grD0icITZEezu+8oLKjiCQ== +60ix9wuVi+SUredNvcMmFkbrawnZdI4bvwp/C6lpzSX+tKxD5lQwvPRkxCTIB5A6YYqz7Bj3kxwE2B5rMvNMAw== diff --git a/test_data/dummy/server_list.json.tc_nohashed.minisig b/test_data/dummy/server_list.json.tc_nohashed.minisig index eac9e8f..4d86e7c 100644 --- a/test_data/dummy/server_list.json.tc_nohashed.minisig +++ b/test_data/dummy/server_list.json.tc_nohashed.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key -RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM= +RURMm6vfaPgH3+eU+m5mSKM6lHt8iJ3ZpT6Cpz9DFsVPN6P8mmvkVZzsPH3L4PukBxglWAlppOBPkFc4rOJZT/Wr2FGGuqTZywY= trusted comment: time:10 file:server_list.json -PWoIk5cpXbX1vL9FA0baUhuxzpNs37gzMoTxCihmF/toveW9A6e+A6T2L3ZVKAVeYgUd8auEi7FV86mTSv1uCQ== +EfjNa5Ak0MuLrrSphUufzx87bdfz651Pvz7zN0+1a4UUmHbQ0mTRn3PfL59PiGRbHg+di+pvLcSMSxrigvafBQ== diff --git a/test_data/dummy/server_list.json.tc_notime.minisig b/test_data/dummy/server_list.json.tc_notime.minisig index 01e3ea5..83d3283 100644 --- a/test_data/dummy/server_list.json.tc_notime.minisig +++ b/test_data/dummy/server_list.json.tc_notime.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key -RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM= +RURMm6vfaPgH3+eU+m5mSKM6lHt8iJ3ZpT6Cpz9DFsVPN6P8mmvkVZzsPH3L4PukBxglWAlppOBPkFc4rOJZT/Wr2FGGuqTZywY= trusted comment: file:server_list.json hashed -Owcrjq/DWzW65CLkPSuppImezsXUYa+xxFnZLhHYucGF7aZgttQ/fPandETYR7G/XIDQOQNjqD51BxrYS3d2CA== +nsZv4GCgaiy0raGkUDKqJeWBj3p6ow19b0wh6rObu9rC8H6JkWnUgbfq2yYfsccQ/8XWv53xUgji0x0GqpqLBA== diff --git a/test_data/dummy/server_list.json.tc_orglist.minisig b/test_data/dummy/server_list.json.tc_orglist.minisig index bcf1c2e..3dae307 100644 --- a/test_data/dummy/server_list.json.tc_orglist.minisig +++ b/test_data/dummy/server_list.json.tc_orglist.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key -RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM= +RURMm6vfaPgH3+eU+m5mSKM6lHt8iJ3ZpT6Cpz9DFsVPN6P8mmvkVZzsPH3L4PukBxglWAlppOBPkFc4rOJZT/Wr2FGGuqTZywY= trusted comment: time:10 file:organization_list.json hashed -04HDmk6F8yhihM2yneLzdUwf9PQXdTqtFohqCsYet56ZaFM4vsO6wY3uKLZxTO4xC5ka2FOl55f3r9MmwIVmDg== +SPpurupiw2y7GZy1dDbrTZKWTwT0vYPJ7ftkAm5x7BevzgQ+kuTHvNhIWTbNLBeZBXVlpjAZCmuHUWejmOC0Ag== diff --git a/test_data/dummy/server_list.json.tc_otherfile.minisig b/test_data/dummy/server_list.json.tc_otherfile.minisig index 892664e..4e7011d 100644 --- a/test_data/dummy/server_list.json.tc_otherfile.minisig +++ b/test_data/dummy/server_list.json.tc_otherfile.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key -RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM= +RURMm6vfaPgH3+eU+m5mSKM6lHt8iJ3ZpT6Cpz9DFsVPN6P8mmvkVZzsPH3L4PukBxglWAlppOBPkFc4rOJZT/Wr2FGGuqTZywY= trusted comment: time:10 file:otherfile hashed -YA5/MpBijzTvgGXoUoM39E711qsuetU99oU9piE9bVjUbvswYVI91daasCMhUwO6mYLQVSfKOH1YKPiyn68PBQ== +LbomTAg8fzAaluRuFrcn8BE6Bhd9WdRDsy1aAUNIgnT3AKnnmth+JGhy+sPcIg1Bg8E5OV223FjuHIXD/X4PAw== diff --git a/test_data/dummy/server_list.json.tc_random.minisig b/test_data/dummy/server_list.json.tc_random.minisig index f2d110d..cc4eecd 100644 --- a/test_data/dummy/server_list.json.tc_random.minisig +++ b/test_data/dummy/server_list.json.tc_random.minisig @@ -1,4 +1,4 @@ untrusted comment: signature from minisign secret key -RURMm6vfaPgH3468S+WQnqA/CiMM4vnRHpRhc+/EiZ6oJIUm8L6YFLohddvAluuIHrxUF8xHYrcFMEV3nwZp8zETYilf7Jf/YAM= +RURMm6vfaPgH3+eU+m5mSKM6lHt8iJ3ZpT6Cpz9DFsVPN6P8mmvkVZzsPH3L4PukBxglWAlppOBPkFc4rOJZT/Wr2FGGuqTZywY= trusted comment: random stuff -uK7FrBokCVKCRJygshKKXJ6OpMFhxpeZShHO/QZW/YfIeioozN/zCGJLDEPpxtNGdz9fjRYOZElXOPWEkjUeAA== +HojIsfIJs5MXT9/WemRXzAVQ+avpb2aqrb8IrI3SPFExwrkms4bVIkrmUt7BRe7jCI4iYKQLTZZw0rYReJK2DQ== diff --git a/test_data/dummy/server_list.json.tc_timestamp.minisig b/test_data/dummy/server_list.json.tc_timestamp.minisig new file mode 100644 index 0000000..7bed9c0 --- /dev/null +++ b/test_data/dummy/server_list.json.tc_timestamp.minisig @@ -0,0 +1,4 @@ +untrusted comment: signature from minisign secret key +RURMm6vfaPgH3+eU+m5mSKM6lHt8iJ3ZpT6Cpz9DFsVPN6P8mmvkVZzsPH3L4PukBxglWAlppOBPkFc4rOJZT/Wr2FGGuqTZywY= +trusted comment: timestamp:10 file:server_list.json +dphTJl5m8jQhkYWHRGe1yKID3zima1pFcBfKQ3e/5KffrekPEbElSXpM/4jtylwpKP/xRHsnjd5jfq/UIsE5BQ== diff --git a/verify.go b/verify.go index c6981d6..e015328 100644 --- a/verify.go +++ b/verify.go @@ -32,7 +32,7 @@ func Verify(signatureFileContent string, signedJson []byte, expectedFileName str // Verification is performed using a matching key in allowedPublicKeys. // The signature is checked to be a Blake2b-prehashed Ed25519 Minisign signature with a valid trusted comment. // The file type that is verified is indicated by expectedFileName, which must be one of server_list.json/organization_list.json. -// The trusted comment is checked to be of the form "time:\tfile:", optionally suffixed by "\thashed". +// The trusted comment is checked to be of the form "time<(stamp)>:\tfile:", optionally suffixed by something, e.g. "\thashed". // The JSON file and signature are checked to have a timestamp with a value of at least minSignTime, which is a UNIX timestamp without milliseconds; // more precisely: min sign time <= sign time from trusted comment <= time from JSON 'v' tag. // The JSON file is checked to be valid JSON and contain a tag with key server_list/organization_list, depending on expectedFileName. @@ -80,8 +80,11 @@ func verifyWithKeys(signatureFileContent string, signedJson []byte, expectedFile // sigFileName cannot have spaces _, err = fmt.Sscanf(sig.TrustedComment, "trusted comment: time:%d\tfile:%s", &signTime, &sigFileName) if err != nil { - return false, VerifyError{ErrInvalidTrustedComment, - fmt.Sprintf("failed to interpret trusted comment (%q)", sig.TrustedComment), err} + _, err = fmt.Sscanf(sig.TrustedComment, "trusted comment: timestamp:%d\tfile:%s", &signTime, &sigFileName) + if err != nil { + return false, VerifyError{ErrInvalidTrustedComment, + fmt.Sprintf("failed to interpret trusted comment (%q)", sig.TrustedComment), err} + } } if sigFileName != expectedFileName { diff --git a/verify_test.go b/verify_test.go index ca8d5a9..6951525 100644 --- a/verify_test.go +++ b/verify_test.go @@ -74,6 +74,7 @@ func Test_verifyWithKeys(t *testing.T) { {ErrInvalidSignatureAlgorithm, "pure", "server_list.json.pure.minisig", "server_list.json", "server_list.json", 10, pk}, {ok, "valid server_list", "server_list.json.minisig", "server_list.json", "server_list.json", 10, pk}, + {ok, "TC timestamp:", "server_list.json.tc_timestamp.minisig", "server_list.json", "server_list.json", 10, pk}, {ok, "TC no hashed", "server_list.json.tc_nohashed.minisig", "server_list.json", "server_list.json", 10, pk}, {ok, "TC later time", "server_list.json.tc_latertime.minisig", "server_list.json", "server_list.json", 10, pk}, {ErrWrongFileName, "server_list TC file:organization_list", "server_list.json.tc_orglist.minisig", "server_list.json", "server_list.json", 10, pk}, @@ -82,7 +83,6 @@ func Test_verifyWithKeys(t *testing.T) { {ErrWrongFileName, "TC file:otherfile", "server_list.json.tc_otherfile.minisig", "server_list.json", "server_list.json", 10, pk}, {ErrInvalidTrustedComment, "TC no file", "server_list.json.tc_nofile.minisig", "server_list.json", "server_list.json", 10, pk}, {ErrInvalidTrustedComment, "TC no time", "server_list.json.tc_notime.minisig", "server_list.json", "server_list.json", 10, pk}, - {ErrInvalidTrustedComment, "TC empty", "server_list.json.tc_empty.minisig", "server_list.json", "server_list.json", 10, pk}, {errAny, "TC empty time", "server_list.json.tc_emptytime.minisig", "server_list.json", "server_list.json", 10, pk}, {errAny, "TC empty file", "server_list.json.tc_emptyfile.minisig", "server_list.json", "server_list.json", 10, pk}, {ErrWrongFileContent, "TC earlier time", "server_list.json.tc_earliertime.minisig", "server_list.json", "server_list.json", 9, pk}, -- cgit v1.2.3