diff --git a/src/crypto/mod.rs b/src/crypto/mod.rs index 6ec34fc..8f624aa 100644 --- a/src/crypto/mod.rs +++ b/src/crypto/mod.rs @@ -120,9 +120,10 @@ pub fn verify_rsa_modulus_exponent( message: &str, components: (&str, &str), ) -> Result { + let signature_bytes = decode(signature)?; let n = BigUint::from_bytes_be(&decode(components.0)?).to_bytes_be(); let e = BigUint::from_bytes_be(&decode(components.1)?).to_bytes_be(); let pubkey = signature::RsaPublicKeyComponents { n, e }; - let res = pubkey.verify(rsa_alg_to_rsa_parameters(alg), message.as_ref(), signature.as_ref()); + let res = pubkey.verify(rsa_alg_to_rsa_parameters(alg), message.as_ref(), &signature_bytes); Ok(res.is_ok()) }