WitnessVerifier consists of a CT signature verifier.
type WitnessVerifier struct { SigVerifier *ct.SignatureVerifier }
func NewWitnessVerifier(pk crypto.PublicKey) (*WitnessVerifier, error)
NewWitnessVerifier creates a witness signature verifier from a public key.
func (wv WitnessVerifier) VerifySignature(sth api.CosignedSTH) error
VerifySignature finds and verifies this witness' signature on a cosigned STH. This may mean that there are other witness signatures that remain unverified, so future implementations may want to take in multiple signature verifiers like in the Note package (https://pkg.go.dev/golang.org/x/mod/sumdb/note).