aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys/src
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2018-03-11 15:08:16 -0700
committerGitHub <[email protected]>2018-03-11 15:08:16 -0700
commit1b830c3fb79a04173fdeb8450bd8beb24253404b (patch)
tree6bad2b425bd0f2bf9e6ff12e07016674c4f22fbb /openssl-sys/src
parentMerge pull request #871 from sfackler/tweaks (diff)
parentRevert previous commit (diff)
downloadrust-openssl-1b830c3fb79a04173fdeb8450bd8beb24253404b.tar.xz
rust-openssl-1b830c3fb79a04173fdeb8450bd8beb24253404b.zip
Merge pull request #863 from rohit-lshift/master
Exposed some of ECDSA functions
Diffstat (limited to 'openssl-sys/src')
-rw-r--r--openssl-sys/src/lib.rs6
-rw-r--r--openssl-sys/src/libressl/mod.rs6
-rw-r--r--openssl-sys/src/ossl10x.rs6
-rw-r--r--openssl-sys/src/ossl110.rs4
4 files changed, 22 insertions, 0 deletions
diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs
index 5a71395f..2eef0741 100644
--- a/openssl-sys/src/lib.rs
+++ b/openssl-sys/src/lib.rs
@@ -1914,6 +1914,12 @@ extern "C" {
ctx: *mut BN_CTX,
) -> c_int;
+ pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG;
+ pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG);
+ pub fn ECDSA_do_verify(dgst: *const c_uchar, dgst_len: c_int,
+ sig: *const ECDSA_SIG, eckey: *mut EC_KEY) -> c_int;
+ pub fn ECDSA_do_sign(dgst: *const c_uchar, dgst_len: c_int, eckey: *mut EC_KEY) -> *mut ECDSA_SIG;
+
pub fn ERR_peek_last_error() -> c_ulong;
pub fn ERR_get_error() -> c_ulong;
pub fn ERR_get_error_line_data(
diff --git a/openssl-sys/src/libressl/mod.rs b/openssl-sys/src/libressl/mod.rs
index 8454a78a..c47363ca 100644
--- a/openssl-sys/src/libressl/mod.rs
+++ b/openssl-sys/src/libressl/mod.rs
@@ -134,6 +134,12 @@ pub struct DSA {
}
#[repr(C)]
+pub struct ECDSA_SIG {
+ pub r: *mut ::BIGNUM,
+ pub s: *mut ::BIGNUM
+}
+
+#[repr(C)]
pub struct EVP_PKEY {
pub type_: c_int,
pub save_type: c_int,
diff --git a/openssl-sys/src/ossl10x.rs b/openssl-sys/src/ossl10x.rs
index f8ff7193..09185160 100644
--- a/openssl-sys/src/ossl10x.rs
+++ b/openssl-sys/src/ossl10x.rs
@@ -129,6 +129,12 @@ pub struct DSA {
}
#[repr(C)]
+pub struct ECDSA_SIG {
+ pub r: *mut BIGNUM,
+ pub s: *mut BIGNUM
+}
+
+#[repr(C)]
pub struct EVP_PKEY {
pub type_: c_int,
pub save_type: c_int,
diff --git a/openssl-sys/src/ossl110.rs b/openssl-sys/src/ossl110.rs
index b02c296d..1902af75 100644
--- a/openssl-sys/src/ossl110.rs
+++ b/openssl-sys/src/ossl110.rs
@@ -8,6 +8,7 @@ pub enum BIO_METHOD {}
pub enum CRYPTO_EX_DATA {}
pub enum DH {}
pub enum DSA {}
+pub enum ECDSA_SIG {}
pub enum EVP_CIPHER {}
pub enum EVP_MD_CTX {}
pub enum EVP_PKEY {}
@@ -363,4 +364,7 @@ extern "C" {
) -> *mut PKCS12;
pub fn X509_REQ_get_version(req: *const X509_REQ) -> c_long;
pub fn X509_REQ_get_subject_name(req: *const X509_REQ) -> *mut ::X509_NAME;
+
+ pub fn ECDSA_SIG_get0(sig: *const ECDSA_SIG, pr: *mut *const BIGNUM, ps: *mut *const BIGNUM);
+ pub fn ECDSA_SIG_set0(sig: *mut ECDSA_SIG, pr: *mut BIGNUM, ps: *mut BIGNUM) -> c_int;
}