in image/verify.go [143:170]
func (img *Image) VerifySigs(keys []sec.PubSignKey) (int, error) {
sigs, err := img.CollectSigs()
if err != nil {
return -1, err
}
if len(sigs) == 0 {
return -1, nil
}
hash, err := img.Hash()
if err != nil {
return -1, err
}
for keyIdx, k := range keys {
sigIdx, err := sec.VerifySigs(k, sigs, hash)
if err != nil {
return -1, err
}
if sigIdx != -1 {
return keyIdx, nil
}
}
return -1, errors.Errorf("image signatures do not match provided keys")
}