From 6d6429237d5929abe9c5504f82f116614d33f549 Mon Sep 17 00:00:00 2001 From: Lukas Lihotzki Date: Mon, 11 Nov 2019 22:04:14 +0100 Subject: [PATCH] Add EC_GROUP_order_bits --- openssl-sys/src/ec.rs | 2 ++ openssl/src/ec.rs | 9 +++++++++ 2 files changed, 11 insertions(+) diff --git a/openssl-sys/src/ec.rs b/openssl-sys/src/ec.rs index ffb1a16cc..e07038488 100644 --- a/openssl-sys/src/ec.rs +++ b/openssl-sys/src/ec.rs @@ -61,6 +61,8 @@ extern "C" { pub fn EC_GROUP_get_degree(group: *const EC_GROUP) -> c_int; + pub fn EC_GROUP_order_bits(group: *const EC_GROUP) -> c_int; + pub fn EC_GROUP_new_curve_GFp( p: *const BIGNUM, a: *const BIGNUM, diff --git a/openssl/src/ec.rs b/openssl/src/ec.rs index d6097bbca..600974dc4 100644 --- a/openssl/src/ec.rs +++ b/openssl/src/ec.rs @@ -228,6 +228,15 @@ impl EcGroupRef { unsafe { ffi::EC_GROUP_get_degree(self.as_ptr()) as u32 } } + /// Returns the number of bits in the group order. + /// + /// OpenSSL documentation at [`EC_GROUP_order_bits`] + /// + /// [`EC_GROUP_order_bits`]: https://www.openssl.org/docs/man1.1.0/crypto/EC_GROUP_order_bits.html + pub fn order_bits(&self) -> u32 { + unsafe { ffi::EC_GROUP_order_bits(self.as_ptr()) as u32 } + } + /// Returns the generator for the given curve as a [`EcPoint`]. /// /// OpenSSL documentation at [`EC_GROUP_get0_generator`] -- GitLab