pub fn verify(
sig: &Signature,
msg: impl Into<Message>,
pk: &PublicKey,
) -> Result<(), Error>Expand description
Checks that sig is a valid ECDSA signature for msg using the public
key pubkey. Returns Ok(()) on success. Note that this function cannot
be used for Bitcoin consensus checking since there may exist signatures
which OpenSSL would verify but not libsecp256k1, or vice-versa. Requires a
verify-capable context.
let message = Message::from_digest_slice(&[0xab; 32]).expect("32 bytes");
let sig = ecdsa::sign(message, &secret_key);
assert_eq!(ecdsa::verify(&sig, message, &public_key), Ok(()));
let message = Message::from_digest_slice(&[0xcd; 32]).expect("32 bytes");
assert_eq!(ecdsa::verify(&sig, message, &public_key), Err(Error::IncorrectSignature));