diff options
| author | Rohit Aggarwal <[email protected]> | 2018-03-08 09:44:05 +0000 |
|---|---|---|
| committer | Rohit Aggarwal <[email protected]> | 2018-03-08 09:44:05 +0000 |
| commit | 2d6cd9eb1633ad80636d273f823b64d723a4be76 (patch) | |
| tree | 35ddcb9c9c2c9d6d1b735a58fc3cf844b8aa3805 /openssl-sys/src | |
| parent | Remove the x509 module-level example (diff) | |
| download | rust-openssl-2d6cd9eb1633ad80636d273f823b64d723a4be76.tar.xz rust-openssl-2d6cd9eb1633ad80636d273f823b64d723a4be76.zip | |
Exposed some of ECDSA functions
Diffstat (limited to 'openssl-sys/src')
| -rw-r--r-- | openssl-sys/src/ossl10x.rs | 26 | ||||
| -rw-r--r-- | openssl-sys/src/ossl110.rs | 23 |
2 files changed, 49 insertions, 0 deletions
diff --git a/openssl-sys/src/ossl10x.rs b/openssl-sys/src/ossl10x.rs index f8ff7193..78c76b6e 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, @@ -823,6 +829,26 @@ extern "C" { ); pub fn CRYPTO_set_id_callback(func: unsafe extern "C" fn() -> c_ulong); + pub fn ECDSA_SIG_new() -> *mut ECDSA_SIG; + pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG); + pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, pp: *mut *mut c_uchar) -> c_int; + pub fn d2i_ECDSA_SIG(sig: *mut *mut ECDSA_SIG, pp: *mut *const c_uchar, len: c_long) -> *mut ECDSA_SIG; + pub fn ECDSA_size(eckey: *const ::EC_KEY) -> c_int; + pub fn ECDSA_sign(_type: c_int, dgst: *const c_uchar, dgstlen: c_int, + sig: *mut c_uchar, siglen: *mut c_uint, 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 ECDSA_verify(_type: c_int, dgst: *const c_uchar, dgstlen: c_int, + sig: *const c_uchar, siglen: c_int, eckey: *mut ::EC_KEY) -> c_int; + 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_ex(dgst: *const c_uchar, dgstlen: c_int, + kinv: *const BIGNUM, rp: *const BIGNUM, + eckey: *mut ::EC_KEY) -> *mut ECDSA_SIG; + pub fn ECDSA_sign_setup(eckey: *mut ::EC_KEY, ctx: *mut ::BN_CTX, kinv: *mut *mut BIGNUM, rp: *mut *mut BIGNUM) -> c_int; + pub fn ECDSA_sign_ex(_type: c_int, dgst: *const c_uchar, dgstlen: c_int, + sig: *mut c_uchar, siglen: *mut c_uint, + kinv: *const BIGNUM, rp: *const BIGNUM, eckey: *mut ::EC_KEY) -> c_int; + pub fn ERR_load_crypto_strings(); pub fn RSA_generate_key( diff --git a/openssl-sys/src/ossl110.rs b/openssl-sys/src/ossl110.rs index b02c296d..d6f4eb99 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,26 @@ 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_new() -> *mut ECDSA_SIG; + pub fn ECDSA_SIG_free(sig: *mut ECDSA_SIG); + 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; + pub fn i2d_ECDSA_SIG(sig: *const ECDSA_SIG, pp: *mut *mut c_uchar) -> c_int; + pub fn d2i_ECDSA_SIG(sig: *mut *mut ECDSA_SIG, pp: *mut *const c_uchar, len: c_long) -> *mut ECDSA_SIG; + pub fn ECDSA_size(eckey: *const ::EC_KEY) -> c_int; + pub fn ECDSA_sign(_type: c_int, dgst: *const c_uchar, dgstlen: c_int, + sig: *mut c_uchar, siglen: *mut c_uint, 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 ECDSA_verify(_type: c_int, dgst: *const c_uchar, dgstlen: c_int, + sig: *const c_uchar, siglen: c_int, eckey: *mut ::EC_KEY) -> c_int; + 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_ex(dgst: *const c_uchar, dgstlen: c_int, + kinv: *const BIGNUM, rp: *const BIGNUM, + eckey: *mut ::EC_KEY) -> *mut ECDSA_SIG; + pub fn ECDSA_sign_setup(eckey: *mut ::EC_KEY, ctx: *mut ::BN_CTX, kinv: *mut *mut BIGNUM, rp: *mut *mut BIGNUM) -> c_int; + pub fn ECDSA_sign_ex(_type: c_int, dgst: *const c_uchar, dgstlen: c_int, + sig: *mut c_uchar, siglen: *mut c_uint, + kinv: *const BIGNUM, rp: *const BIGNUM, eckey: *mut ::EC_KEY) -> c_int; } |