Skip to content

Commit 251f974

Browse files
committed
Allow inspection of signature verification failures
1 parent 7889c76 commit 251f974

File tree

1 file changed

+11
-9
lines changed

1 file changed

+11
-9
lines changed

sdk/src/signature.rs

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -61,16 +61,18 @@ impl Signature {
6161
Self(GenericArray::clone_from_slice(&signature_slice))
6262
}
6363

64+
pub(self) fn verify_verbose(
65+
&self,
66+
pubkey_bytes: &[u8],
67+
message_bytes: &[u8],
68+
) -> Result<(), ed25519_dalek::SignatureError> {
69+
let publickey = ed25519_dalek::PublicKey::from_bytes(pubkey_bytes)?;
70+
let signature = self.0.as_slice().try_into()?;
71+
publickey.verify_strict(message_bytes, &signature)
72+
}
73+
6474
pub fn verify(&self, pubkey_bytes: &[u8], message_bytes: &[u8]) -> bool {
65-
let pubkey = ed25519_dalek::PublicKey::from_bytes(pubkey_bytes);
66-
let signature = self.0.as_slice().try_into();
67-
if pubkey.is_err() || signature.is_err() {
68-
return false;
69-
}
70-
pubkey
71-
.unwrap()
72-
.verify_strict(message_bytes, &signature.unwrap())
73-
.is_ok()
75+
self.verify_verbose(pubkey_bytes, message_bytes).is_ok()
7476
}
7577
}
7678

0 commit comments

Comments
 (0)