summaryrefslogtreecommitdiff
path: root/ext/crypto/key.rs
diff options
context:
space:
mode:
Diffstat (limited to 'ext/crypto/key.rs')
-rw-r--r--ext/crypto/key.rs10
1 files changed, 10 insertions, 0 deletions
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<CryptoNamedCurve> for &EcdsaSigningAlgorithm {
}
}
+impl From<CryptoNamedCurve> 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<CryptoHash> for HmacAlgorithm {
fn from(hash: CryptoHash) -> HmacAlgorithm {
match hash {