diff --git a/openssl/src/ec.rs b/openssl/src/ec.rs index a4470b2c7e38e1c958275e55a189a071ee4b35d4..08272363028d933a3edb757e55b7c0c4e4f88aa4 100644 --- a/openssl/src/ec.rs +++ b/openssl/src/ec.rs @@ -375,4 +375,14 @@ mod test { let point2 = EcPoint::from_bytes(&group, &bytes, &mut ctx).unwrap(); assert!(point.eq(&group, &point2, &mut ctx).unwrap()); } + + #[test] + fn mul_generator() { + let group = EcGroup::from_curve_name(nid::X9_62_PRIME256V1).unwrap(); + let key = EcKey::generate(&group).unwrap(); + let mut ctx = BigNumContext::new().unwrap(); + let mut public_key = EcPoint::new(&group).unwrap(); + public_key.mul_generator(&group, key.private_key().unwrap(), &mut ctx).unwrap(); + assert!(public_key.eq(&group, key.public_key().unwrap(), &mut ctx).unwrap()); + } }