diff options
Diffstat (limited to 'openssl/src/ec_key.rs')
| -rw-r--r-- | openssl/src/ec_key.rs | 24 |
1 files changed, 24 insertions, 0 deletions
diff --git a/openssl/src/ec_key.rs b/openssl/src/ec_key.rs new file mode 100644 index 00000000..41501c14 --- /dev/null +++ b/openssl/src/ec_key.rs @@ -0,0 +1,24 @@ +use ffi; + +use cvt_p; +use error::ErrorStack; +use nid::Nid; + +type_!(EcKey, EcKeyRef, ffi::EC_KEY, ffi::EC_KEY_free); + +impl EcKey { + pub fn new_by_curve_name(nid: Nid) -> Result<EcKey, ErrorStack> { + unsafe { cvt_p(ffi::EC_KEY_new_by_curve_name(nid.as_raw())).map(EcKey) } + } +} + +#[cfg(test)] +mod test { + use nid; + use super::*; + + #[test] + fn new_by_curve_name() { + EcKey::new_by_curve_name(nid::X9_62_PRIME256V1).unwrap(); + } +} |