From a255fb18eb30215033422c54b0d9474163507cb9 Mon Sep 17 00:00:00 2001 From: Huw Jones Date: Fri, 25 Jul 2025 16:36:45 +0100 Subject: [PATCH 1/2] sys/evp: add EVP_PKEY_gettable_params --- openssl-sys/src/handwritten/evp.rs | 38 ++++++++++++++++++++++++++++++ 1 file changed, 38 insertions(+) diff --git a/openssl-sys/src/handwritten/evp.rs b/openssl-sys/src/handwritten/evp.rs index 930d5ffbc..e00c5bf2a 100644 --- a/openssl-sys/src/handwritten/evp.rs +++ b/openssl-sys/src/handwritten/evp.rs @@ -669,3 +669,41 @@ extern "C" { pub fn EVP_EncodeBlock(dst: *mut c_uchar, src: *const c_uchar, src_len: c_int) -> c_int; pub fn EVP_DecodeBlock(dst: *mut c_uchar, src: *const c_uchar, src_len: c_int) -> c_int; } + +cfg_if! { + if #[cfg(ossl300)] { + extern "C" { + pub fn EVP_PKEY_gettable_params(pkey: *const EVP_PKEY) -> *const OSSL_PARAM; + pub fn EVP_PKEY_get_params(pkey: *const EVP_PKEY, params: *mut OSSL_PARAM) -> c_int; + pub fn EVP_PKEY_get_int_param( + pkey: *const EVP_PKEY, + key_name: *const c_char, + out: *mut c_int, + ) -> c_int; + pub fn EVP_PKEY_get_size_t_param( + pkey: *const EVP_PKEY, + key_name: *const c_char, + out: *mut size_t, + ) -> c_int; + pub fn EVP_PKEY_get_bn_param( + pkey: *const EVP_PKEY, + key_name: *const c_char, + out: *mut *mut BIGNUM, + ) -> c_int; + pub fn EVP_PKEY_get_utf8_string_param( + pkey: *const EVP_PKEY, + key_name: *const c_char, + str: *mut c_char, + max_buf_sz: size_t, + out_len: *mut size_t, + ) -> c_int; + pub fn EVP_PKEY_get_octet_string_param( + pkey: *const EVP_PKEY, + key_name: *const c_char, + buf: *mut c_uchar, + max_buf_sz: size_t, + out_len: *mut size_t, + ) -> c_int; + } + } +} From 25024079ed086e8e73c4a96830b10425cd02cb32 Mon Sep 17 00:00:00 2001 From: Huw Jones Date: Tue, 29 Jul 2025 14:57:37 +0100 Subject: [PATCH 2/2] sys/evp: add EVP_PKEY_settable_params --- openssl-sys/src/handwritten/evp.rs | 29 +++++++++++++++++++++++++++++ 1 file changed, 29 insertions(+) diff --git a/openssl-sys/src/handwritten/evp.rs b/openssl-sys/src/handwritten/evp.rs index e00c5bf2a..22d614550 100644 --- a/openssl-sys/src/handwritten/evp.rs +++ b/openssl-sys/src/handwritten/evp.rs @@ -704,6 +704,35 @@ cfg_if! { max_buf_sz: size_t, out_len: *mut size_t, ) -> c_int; + + pub fn EVP_PKEY_settable_params(pkey: *const EVP_PKEY) -> *const OSSL_PARAM; + pub fn EVP_PKEY_set_params(pkey: *mut EVP_PKEY, params: *mut OSSL_PARAM) -> c_int; + pub fn EVP_PKEY_set_int_param( + pkey: *mut EVP_PKEY, + key_name: *const c_char, + in_val: c_int, + ) -> c_int; + pub fn EVP_PKEY_set_size_t_param( + pkey: *mut EVP_PKEY, + key_name: *const c_char, + in_val: size_t, + ) -> c_int; + pub fn EVP_PKEY_set_bn_param( + pkey: *mut EVP_PKEY, + key_name: *const c_char, + bn: *const BIGNUM, + ) -> c_int; + pub fn EVP_PKEY_set_utf8_string_param( + pkey: *mut EVP_PKEY, + key_name: *const c_char, + str: *const c_char, + ) -> c_int; + pub fn EVP_PKEY_set_octet_string_param( + pkey: *mut EVP_PKEY, + key_name: *const c_char, + buf: *const c_uchar, + bsize: size_t, + ) -> c_int; } } }