Test elliptic curve signatures

This commit is contained in:
Steven Fackler 2016-11-15 22:06:20 +01:00
parent ec0fa36714
commit 7515510125
1 changed files with 17 additions and 0 deletions

View File

@ -210,6 +210,8 @@ mod test {
use hash::MessageDigest; use hash::MessageDigest;
use sign::{Signer, Verifier}; use sign::{Signer, Verifier};
use ec::{EcGroup, EcKey};
use nid;
use rsa::Rsa; use rsa::Rsa;
use dsa::Dsa; use dsa::Dsa;
use pkey::PKey; use pkey::PKey;
@ -394,4 +396,19 @@ mod test {
test_hmac(MessageDigest::sha1(), &tests); 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());
}
} }