From b564cb5db776cddde68e704e4fcf23405f913a02 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Sat, 15 Oct 2016 09:41:13 -0700 Subject: Add digest signature methods --- openssl-sys/src/lib.rs | 17 +++++++++++++++++ 1 file changed, 17 insertions(+) (limited to 'openssl-sys/src') diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index 3faa1e57..55f783b1 100644 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -489,6 +489,23 @@ extern { pub fn EVP_DigestFinal(ctx: *mut EVP_MD_CTX, res: *mut u8, n: *mut u32) -> c_int; pub fn EVP_DigestFinal_ex(ctx: *mut EVP_MD_CTX, res: *mut u8, n: *mut u32) -> c_int; + pub fn EVP_DigestSignInit(ctx: *mut EVP_MD_CTX, + pctx: *mut *mut EVP_PKEY_CTX, + type_: *const EVP_MD, + e: *mut ENGINE, + pkey: *mut EVP_PKEY) -> c_int; + pub fn EVP_DigestSignFinal(ctx: *mut EVP_MD_CTX, + sig: *mut c_uchar, + siglen: *mut size_t) -> c_int; + pub fn EVP_DigestVerifyInit(ctx: *mut EVP_MD_CTX, + pctx: *mut *mut EVP_PKEY_CTX, + type_: *const EVP_MD, + e: *mut ENGINE, + pkey: *mut EVP_PKEY) -> c_int; + pub fn EVP_DigestVerifyFinal(ctx: *mut EVP_MD_CTX, + sigret: *const c_uchar, + siglen: size_t) -> c_int; + pub fn EVP_MD_CTX_copy_ex(dst: *mut EVP_MD_CTX, src: *const EVP_MD_CTX) -> c_int; pub fn EVP_PKEY_new() -> *mut EVP_PKEY; -- cgit v1.2.3 From 6ae472487f3515bbbb058a8342983570611a0273 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Sat, 15 Oct 2016 11:06:11 -0700 Subject: Support HMAC PKeys and remove hmac module --- openssl-sys/src/lib.rs | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'openssl-sys/src') diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index 55f783b1..8ad26003 100644 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -109,6 +109,7 @@ pub const CRYPTO_LOCK: c_int = 1; pub const EVP_MAX_MD_SIZE: c_uint = 64; pub const EVP_PKEY_RSA: c_int = NID_rsaEncryption; +pub const EVP_PKEY_HMAC: c_int = NID_hmac; pub const MBSTRING_ASC: c_int = MBSTRING_FLAG | 1; pub const MBSTRING_BMP: c_int = MBSTRING_FLAG | 2; @@ -119,6 +120,7 @@ pub const MBSTRING_UTF8: c_int = MBSTRING_FLAG; pub const NID_rsaEncryption: c_int = 6; pub const NID_ext_key_usage: c_int = 126; pub const NID_key_usage: c_int = 83; +pub const NID_hmac: c_int = 855; pub const PKCS5_SALT_LEN: c_int = 8; @@ -515,6 +517,10 @@ extern { pub fn EVP_PKEY_get1_RSA(k: *mut EVP_PKEY) -> *mut RSA; pub fn EVP_PKEY_set1_RSA(k: *mut EVP_PKEY, r: *mut RSA) -> c_int; pub fn EVP_PKEY_cmp(a: *const EVP_PKEY, b: *const EVP_PKEY) -> c_int; + pub fn EVP_PKEY_new_mac_key(type_: c_int, + e: *mut ENGINE, + key: *const c_uchar, + keylen: c_int) -> *mut EVP_PKEY; pub fn HMAC_CTX_copy(dst: *mut HMAC_CTX, src: *mut HMAC_CTX) -> c_int; -- cgit v1.2.3 From bb23b33829ef872ae00ceea8c701d6f64f64e39b Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Sat, 15 Oct 2016 12:24:20 -0700 Subject: Fix signature of EVP_DigestVerifyFinal on 1.0.1 --- openssl-sys/src/lib.rs | 5 +++++ openssl-sys/src/ossl10x.rs | 4 +++- 2 files changed, 8 insertions(+), 1 deletion(-) (limited to 'openssl-sys/src') diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index 8ad26003..6fe44750 100644 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -504,6 +504,11 @@ extern { type_: *const EVP_MD, e: *mut ENGINE, pkey: *mut EVP_PKEY) -> c_int; + #[cfg(ossl101)] + pub fn EVP_DigestVerifyFinal(ctx: *mut EVP_MD_CTX, + sigret: *mut c_uchar, + siglen: size_t) -> c_int; + #[cfg(not(ossl101))] pub fn EVP_DigestVerifyFinal(ctx: *mut EVP_MD_CTX, sigret: *const c_uchar, siglen: size_t) -> c_int; diff --git a/openssl-sys/src/ossl10x.rs b/openssl-sys/src/ossl10x.rs index 16d669b0..595b673b 100644 --- a/openssl-sys/src/ossl10x.rs +++ b/openssl-sys/src/ossl10x.rs @@ -2,7 +2,9 @@ use std::sync::{Mutex, MutexGuard}; use std::sync::{Once, ONCE_INIT}; use std::mem; -use libc::{c_int, c_char, c_void, c_long, c_uchar, size_t, c_uint, c_ulong, time_t}; +use libc::{c_int, c_char, c_void, c_long, c_uchar, size_t, c_uint, c_ulong}; +#[cfg(not(ossl101))] +use libc::time_t; #[repr(C)] pub struct stack_st_ASN1_OBJECT { -- cgit v1.2.3