From 773a6f0735f0a1d5dc92034a6a877bce7272071d Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Sun, 14 Aug 2016 10:11:38 -0700 Subject: Start on PKCS #12 support --- openssl-sys/src/lib.rs | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) (limited to 'openssl-sys/src/lib.rs') diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index 24d3bf57..a6041a6b 100644 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -37,6 +37,13 @@ pub type X509_NAME_ENTRY = c_void; pub type X509_REQ = c_void; pub type X509_STORE_CTX = c_void; pub type bio_st = c_void; +#[repr(C)] +pub struct PKCS12(c_void); + +#[repr(C)] +pub struct stack_st_X509 { + pub stack: _STACK, +} #[repr(C)] pub struct stack_st_X509_EXTENSION { @@ -1070,6 +1077,15 @@ extern "C" { pub fn i2d_RSAPrivateKey(k: *mut RSA, buf: *const *mut u8) -> c_int; pub fn d2i_RSAPrivateKey(k: *const *mut RSA, buf: *const *const u8, len: c_uint) -> *mut RSA; + pub fn d2i_PKCS12(a: *mut *mut PKCS12, pp: *mut *const u8, length: c_long) -> *mut PKCS12; + pub fn PKCS12_parse(p12: *mut PKCS12, + pass: *const c_char, + pkey: *mut *mut EVP_PKEY, + cert: *mut *mut X509, + ca: *mut *mut stack_st_X509) + -> c_int; + pub fn PKCS12_free(p12: *mut PKCS12); + pub fn SSLeay() -> c_long; pub fn SSLeay_version(key: c_int) -> *const c_char; } -- cgit v1.2.3 From 6b12a0cddea0d4392cf0376c68b36d87cf19b86e Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Sun, 14 Aug 2016 11:11:26 -0700 Subject: PKCS #12 support --- openssl-sys/src/lib.rs | 4 ++++ 1 file changed, 4 insertions(+) (limited to 'openssl-sys/src/lib.rs') diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index a6041a6b..aa3a0df5 100644 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -1086,6 +1086,10 @@ extern "C" { -> c_int; pub fn PKCS12_free(p12: *mut PKCS12); + pub fn sk_free(st: *mut _STACK); + pub fn sk_pop_free(st: *mut _STACK, free: Option); + pub fn sk_pop(st: *mut _STACK) -> *mut c_char; + pub fn SSLeay() -> c_long; pub fn SSLeay_version(key: c_int) -> *const c_char; } -- cgit v1.2.3 From e5299fd7c9661579d6de30a5be5b032a90203c95 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Sun, 14 Aug 2016 11:16:53 -0700 Subject: Fix memory leak in general name stack --- openssl-sys/src/lib.rs | 2 ++ 1 file changed, 2 insertions(+) (limited to 'openssl-sys/src/lib.rs') diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index aa3a0df5..829f6bc1 100644 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -1090,6 +1090,8 @@ extern "C" { pub fn sk_pop_free(st: *mut _STACK, free: Option); pub fn sk_pop(st: *mut _STACK) -> *mut c_char; + pub fn GENERAL_NAME_free(name: *mut GENERAL_NAME); + pub fn SSLeay() -> c_long; pub fn SSLeay_version(key: c_int) -> *const c_char; } -- cgit v1.2.3 From 912f7499cdf215f74d84d7c170a52775101d9de9 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Sun, 14 Aug 2016 12:51:33 -0700 Subject: Initialize algorithms in init Required to deserialize PKCS12 on 0.9.8, looks like --- openssl-sys/src/lib.rs | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) (limited to 'openssl-sys/src/lib.rs') diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index 829f6bc1..a5ec7801 100644 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -516,6 +516,7 @@ pub fn init() { unsafe { SSL_library_init(); SSL_load_error_strings(); + OPENSSL_add_all_algorithms_noconf(); let num_locks = CRYPTO_num_locks(); let mut mutexes = Box::new(Vec::new()); @@ -895,8 +896,8 @@ extern "C" { siglen: c_int, dsa: *mut DSA) -> c_int; pub fn SSL_library_init() -> c_int; - pub fn SSL_load_error_strings(); + pub fn OPENSSL_add_all_algorithms_noconf(); #[cfg(feature = "sslv2")] pub fn SSLv2_method() -> *const SSL_METHOD; -- cgit v1.2.3 From 629f638f085277c0bf3c27058613b832c5007aa6 Mon Sep 17 00:00:00 2001 From: Steven Fackler Date: Mon, 15 Aug 2016 18:44:57 -0700 Subject: Release openssl-sys v0.7.16, openssl v0.8.1 --- openssl-sys/src/lib.rs | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) (limited to 'openssl-sys/src/lib.rs') diff --git a/openssl-sys/src/lib.rs b/openssl-sys/src/lib.rs index a5ec7801..be3ae53e 100644 --- a/openssl-sys/src/lib.rs +++ b/openssl-sys/src/lib.rs @@ -1,6 +1,6 @@ #![allow(non_camel_case_types, non_upper_case_globals, non_snake_case)] #![allow(dead_code)] -#![doc(html_root_url="https://sfackler.github.io/rust-openssl/doc/v0.7.15")] +#![doc(html_root_url="https://sfackler.github.io/rust-openssl/doc/v0.7.16")] extern crate libc; -- cgit v1.2.3