func TestVerify(t *testing.T) { data := bytes.NewReader([]byte("this is a string to sign")) err := signature.Verify(pubKey, exampleSig, data) if err != nil { t.Fatal(err) } data = bytes.NewReader([]byte("thus is a string to sign")) err = signature.Verify(pubKey, exampleSig, data) if err == nil { t.Fatal("signature should not match") } }
func verifyWithKey(signame, dataname string, pubkey []byte) { sig, err := ioutil.ReadFile(signame) if err != nil { log.Fatal(err) } fd, err := os.Open(dataname) if err != nil { log.Fatal(err) } defer fd.Close() err = signature.Verify(pubkey, sig, fd) if err != nil { log.Fatal(err) } log.Println("correct signature") }
func verifyUpgrade(tempName string, sig []byte) error { if tempName == "" { return fmt.Errorf("no upgrade found") } if sig == nil { return fmt.Errorf("no signature found") } l.Debugf("checking signature\n%s", sig) fd, err := os.Open(tempName) if err != nil { return err } err = signature.Verify(SigningKey, sig, fd) fd.Close() if err != nil { os.Remove(tempName) return err } return nil }