From 40c63d1255642b8d70d7b5ce5b85a50f6af8a00d Mon Sep 17 00:00:00 2001 From: Divy Srivastava Date: Sun, 12 Sep 2021 02:19:53 +0530 Subject: feat(ext/crypto): verify ECDSA signatures (#11739) --- ext/crypto/key.rs | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'ext/crypto/key.rs') diff --git a/ext/crypto/key.rs b/ext/crypto/key.rs index d2420bfe9..663217887 100644 --- a/ext/crypto/key.rs +++ b/ext/crypto/key.rs @@ -4,6 +4,7 @@ use ring::agreement::Algorithm as RingAlgorithm; use ring::digest; use ring::hmac::Algorithm as HmacAlgorithm; use ring::signature::EcdsaSigningAlgorithm; +use ring::signature::EcdsaVerificationAlgorithm; use serde::Deserialize; use serde::Serialize; @@ -57,6 +58,15 @@ impl From for &EcdsaSigningAlgorithm { } } +impl From for &EcdsaVerificationAlgorithm { + fn from(curve: CryptoNamedCurve) -> &'static EcdsaVerificationAlgorithm { + match curve { + CryptoNamedCurve::P256 => &ring::signature::ECDSA_P256_SHA256_FIXED, + CryptoNamedCurve::P384 => &ring::signature::ECDSA_P384_SHA384_FIXED, + } + } +} + impl From for HmacAlgorithm { fn from(hash: CryptoHash) -> HmacAlgorithm { match hash { -- cgit v1.2.3