From 7515510125396db580d3aaa4efd28c51b02aa708 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Tue, 15 Nov 2016 22:06:20 +0100 Subject: [PATCH] Test elliptic curve signatures --- openssl/src/sign.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) diff --git a/openssl/src/sign.rs b/openssl/src/sign.rs index 679a30aa..ca7986ca 100644 --- a/openssl/src/sign.rs +++ b/openssl/src/sign.rs @@ -210,6 +210,8 @@ mod test { use hash::MessageDigest; use sign::{Signer, Verifier}; + use ec::{EcGroup, EcKey}; + use nid; use rsa::Rsa; use dsa::Dsa; use pkey::PKey; @@ -394,4 +396,19 @@ mod test { test_hmac(MessageDigest::sha1(), &tests); } + + #[test] + fn ec() { + let group = EcGroup::from_curve_name(nid::X9_62_PRIME256V1).unwrap(); + let key = EcKey::generate(&group).unwrap(); + let key = PKey::from_ec_key(key).unwrap(); + + let mut signer = Signer::new(MessageDigest::sha256(), &key).unwrap(); + signer.update(b"hello world").unwrap(); + let signature = signer.finish().unwrap(); + + let mut verifier = Verifier::new(MessageDigest::sha256(), &key).unwrap(); + verifier.update(b"hello world").unwrap(); + assert!(verifier.finish(&signature).unwrap()); + } }