Function verify

Source
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));