aboutsummaryrefslogtreecommitdiff
path: root/openssl-sys
diff options
context:
space:
mode:
authorSteven Fackler <[email protected]>2016-10-30 14:16:17 -0700
committerGitHub <[email protected]>2016-10-30 14:16:17 -0700
commit33cce627dac04fb3a59e3440eb997d7b99025924 (patch)
treec4804097d96d4d3993190e3fd9ad440fca3f28f4 /openssl-sys
parentClean up generics a bit (diff)
parentEnable single ECDH use (diff)
downloadrust-openssl-33cce627dac04fb3a59e3440eb997d7b99025924.tar.xz
rust-openssl-33cce627dac04fb3a59e3440eb997d7b99025924.zip
Merge pull request #503 from sfackler/ecdhe
ECDHE support
Diffstat (limited to 'openssl-sys')
-rw-r--r--openssl-sys/src/lib.rs10
1 files changed, 9 insertions, 1 deletions
diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs
index ac168c48..8fd287f7 100644
--- a/openssl-sys/src/lib.rs
+++ b/openssl-sys/src/lib.rs
@@ -24,6 +24,7 @@ pub enum ASN1_TYPE {}
pub enum BN_CTX {}
pub enum BN_GENCB {}
pub enum COMP_METHOD {}
+pub enum EC_KEY {}
pub enum ENGINE {}
pub enum EVP_CIPHER_CTX {}
pub enum EVP_MD {}
@@ -1042,6 +1043,7 @@ pub const RSA_PKCS1_OAEP_PADDING: c_int = 4;
pub const RSA_X931_PADDING: c_int = 5;
pub const SSL_CTRL_SET_TMP_DH: c_int = 3;
+pub const SSL_CTRL_SET_TMP_ECDH: c_int = 4;
pub const SSL_CTRL_EXTRA_CHAIN_CERT: c_int = 14;
pub const SSL_CTRL_MODE: c_int = 33;
pub const SSL_CTRL_SET_READ_AHEAD: c_int = 41;
@@ -1213,6 +1215,10 @@ pub unsafe fn SSL_CTX_set_tmp_dh(ctx: *mut SSL_CTX, dh: *mut DH) -> c_long {
SSL_CTX_ctrl(ctx, SSL_CTRL_SET_TMP_DH, 0, dh as *mut c_void)
}
+pub unsafe fn SSL_CTX_set_tmp_ecdh(ctx: *mut SSL_CTX, key: *mut EC_KEY) -> c_long {
+ SSL_CTX_ctrl(ctx, SSL_CTRL_SET_TMP_ECDH, 0, key as *mut c_void)
+}
+
pub unsafe fn SSL_CTX_add_extra_chain_cert(ctx: *mut SSL_CTX, x509: *mut X509) -> c_long {
SSL_CTX_ctrl(ctx, SSL_CTRL_EXTRA_CHAIN_CERT, 0, x509 as *mut c_void)
}
@@ -1341,8 +1347,10 @@ extern {
#[cfg(not(ossl101))]
pub fn DH_get_2048_256() -> *mut DH;
- pub fn ERR_get_error() -> c_ulong;
+ pub fn EC_KEY_new_by_curve_name(nid: c_int) -> *mut EC_KEY;
+ pub fn EC_KEY_free(key: *mut EC_KEY);
+ pub fn ERR_get_error() -> c_ulong;
pub fn ERR_lib_error_string(err: c_ulong) -> *const c_char;
pub fn ERR_func_error_string(err: c_ulong) -> *const c_char;
pub fn ERR_reason_error_string(err: c_ulong) -> *const c_char;