From 82eb3c4f516e1457ec2fec56a4233aa4542957cc Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Sun, 13 Nov 2016 22:10:52 +0000 Subject: [PATCH] Add EcKey::check_key --- openssl-sys/src/lib.rs | 1 + openssl/src/ec_key.rs | 5 +++++ 2 files changed, 6 insertions(+) diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index 6ba8668e..74d1d03f 100644 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -1391,6 +1391,7 @@ extern { pub fn EC_KEY_set_private_key(key: *mut EC_KEY, key: *const BIGNUM) -> c_int; pub fn EC_KEY_get0_private_key(key: *const EC_KEY) -> *const BIGNUM; pub fn EC_KEY_generate_key(key: *mut EC_KEY) -> c_int; + pub fn EC_KEY_check_key(key: *const EC_KEY) -> c_int; pub fn EC_KEY_free(key: *mut EC_KEY); pub fn EC_GFp_simple_method() -> *const EC_METHOD; diff --git a/openssl/src/ec_key.rs b/openssl/src/ec_key.rs index f9b8f58c..6cc95d11 100644 --- a/openssl/src/ec_key.rs +++ b/openssl/src/ec_key.rs @@ -249,6 +249,11 @@ impl EcKeyRef { } } } + + /// Checks the key for validity. + pub fn check_key(&self) -> Result<(), ErrorStack> { + unsafe { cvt(ffi::EC_KEY_check_key(self.as_ptr())).map(|_| ()) } + } } impl EcKey {