func verifyFile(ks *store.KeyStore, cfg *config) error { message, err := util.ReadFile(cfg.Args[0]) if err != nil { return err } sig, err := util.ReadFile(cfg.Args[1]) if err != nil { return err } if len(sig) > 10 { if bytes.Equal(sig[:10], []byte("-----BEGIN")) { p, _ := pem.Decode(sig) if p == nil { return errors.New("failed to decode PEM file") } switch p.Type { case public.SignatureType: sig = p.Bytes default: return errors.New("invalid message") } } } if ks.Verify(cfg.Label, message, sig) { fmt.Println("Signature: OK") } else { fmt.Println("Signature: INVALID") } return nil }