fix: do not panic when validating events with malformed pubkeys
This commit is contained in:
+7
-3
@@ -148,9 +148,13 @@ impl Event {
|
|||||||
|
|
||||||
let sig = schnorr::Signature::from_str(&self.sig).unwrap();
|
let sig = schnorr::Signature::from_str(&self.sig).unwrap();
|
||||||
if let Ok(msg) = secp256k1::Message::from_slice(digest.as_ref()) {
|
if let Ok(msg) = secp256k1::Message::from_slice(digest.as_ref()) {
|
||||||
let pubkey = XOnlyPublicKey::from_str(&self.pubkey).unwrap();
|
if let Ok(pubkey) = XOnlyPublicKey::from_str(&self.pubkey) {
|
||||||
let verify = SECP.verify_schnorr(&sig, &msg, &pubkey);
|
let verify = SECP.verify_schnorr(&sig, &msg, &pubkey);
|
||||||
matches!(verify, Ok(()))
|
matches!(verify, Ok(()))
|
||||||
|
} else {
|
||||||
|
info!("Client sent malformed pubkey");
|
||||||
|
false
|
||||||
|
}
|
||||||
} else {
|
} else {
|
||||||
warn!("Error converting digest to secp256k1 message");
|
warn!("Error converting digest to secp256k1 message");
|
||||||
false
|
false
|
||||||
|
|||||||
Reference in New Issue
Block a user