Verify that a message was signed using a public key ```rust use utils::crypto::{keypair, sign, sign_recovery, verify}; let (private_key, public_key) = keypair(); let message = b"The message"; let signature = sign(message, &private_key).unwrap(); let serialized_signature = signature.serialize_compact(); let verified = verify(message, &serialized_signature, &public_key).unwrap(); assert!(verified
(message: &[u8], signature: &[u8], key: &PublicKey)
| 187 | /// assert!(verified); |
| 188 | /// ``` |
| 189 | pub fn verify(message: &[u8], signature: &[u8], key: &PublicKey) -> Result<bool> { |
| 190 | let message = hash_message(message)?; |
| 191 | let signature = EcdsaSignature::from_compact(signature) |
| 192 | .map_err(|e| UtilsError::VerifyError(e.to_string()))?; |
| 193 | |
| 194 | Ok(CONTEXT.verify_ecdsa(&message, &signature, key).is_ok()) |
| 195 | } |
| 196 | |
| 197 | /// Recover a public key using a recoverable signature and signed message |
| 198 | /// |