INNER CODE UNIT · Rust
verify_challenge_ecdsa
tangle-network/blueprint · crates/auth/src/lib.rs:158
fn verify_challenge_ecdsa(
challenge: &[u8; 32],
signature: &[u8],
pub_key: &[u8],
) -> Result<bool, Error> {
use k256::ecdsa::signature::hazmat::PrehashVerifier;
let pub_key = k256::ecdsa::VerifyingKey::from_sec1_bytes(pub_key).map_err(Error::K256)?;
let signature = k256::ecdsa::Signature::try_from(signature).map_err(Error::K256)?;
Ok(pub_key.verify_prehash(challenge, &signature).is_ok())
}
/// Verifies the challenge solution using SR25519.
///
/// Note: the signing context is `substrate` and the challenge is passed as bytes, not hashed.
fn verify_challenge_sr25519(
challenge: &[u8; 32],
signature: &[u8],
pub_key: &[u8],