@@ -52,8 +52,19 @@ func TestVerifyDockerManifestSignature(t *testing.T) {
5252 assert .Equal (t , TestImageSignatureReference , sig .DockerReference )
5353 assert .Equal (t , TestImageManifestDigest , sig .DockerManifestDigest )
5454
55+ // Verification using a different canonicalization of TestImageSignatureReference
56+ sig , err = VerifyDockerManifestSignature (signature , manifest , "docker.io/" + TestImageSignatureReference , mech , TestKeyFingerprint )
57+ require .NoError (t , err )
58+ assert .Equal (t , TestImageSignatureReference , sig .DockerReference )
59+ assert .Equal (t , TestImageManifestDigest , sig .DockerManifestDigest )
60+
5561 // For extra paranoia, test that we return nil data on error.
5662
63+ // Invalid docker reference on input
64+ sig , err = VerifyDockerManifestSignature (signature , manifest , "UPPERCASEISINVALID" , mech , TestKeyFingerprint )
65+ assert .Error (t , err )
66+ assert .Nil (t , sig )
67+
5768 // Error computing Docker manifest
5869 invalidManifest , err := ioutil .ReadFile ("fixtures/v2s1-invalid-signatures.manifest.json" )
5970 require .NoError (t , err )
@@ -72,6 +83,12 @@ func TestVerifyDockerManifestSignature(t *testing.T) {
7283 assert .Error (t , err )
7384 assert .Nil (t , sig )
7485
86+ // Invalid reference in the signature
87+ invalidReferenceSignature , err := ioutil .ReadFile ("fixtures/invalid-reference.signature" )
88+ sig , err = VerifyDockerManifestSignature (invalidReferenceSignature , manifest , TestImageSignatureReference , mech , TestKeyFingerprint )
89+ assert .Error (t , err )
90+ assert .Nil (t , sig )
91+
7592 // Docker reference mismatch
7693 sig , err = VerifyDockerManifestSignature (signature , manifest , "example.com/doesnt/match" , mech , TestKeyFingerprint )
7794 assert .Error (t , err )
0 commit comments