From 1b4d09d752d406a05ec49239d43869694d97add1 Mon Sep 17 00:00:00 2001 From: Josh Holtrop Date: Mon, 8 Dec 2025 10:02:25 -0500 Subject: [PATCH] Rust wrapper: fix "e" param type for wc_MakeRsaKey() on 32-bit targets --- wrapper/rust/wolfssl/src/wolfcrypt/rsa.rs | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/wrapper/rust/wolfssl/src/wolfcrypt/rsa.rs b/wrapper/rust/wolfssl/src/wolfcrypt/rsa.rs index 9b2f30070..05930d1d9 100644 --- a/wrapper/rust/wolfssl/src/wolfcrypt/rsa.rs +++ b/wrapper/rust/wolfssl/src/wolfcrypt/rsa.rs @@ -393,7 +393,7 @@ impl RSA { /// } /// ``` #[cfg(all(random, rsa_keygen))] - pub fn generate(size: i32, e: i64, rng: &mut RNG) -> Result { + pub fn generate(size: i32, e: i32, rng: &mut RNG) -> Result { Self::generate_ex(size, e, rng, None, None) } @@ -440,7 +440,7 @@ impl RSA { /// } /// ``` #[cfg(all(random, rsa_keygen))] - pub fn generate_ex(size: i32, e: i64, rng: &mut RNG, heap: Option<*mut std::os::raw::c_void>, dev_id: Option) -> Result { + pub fn generate_ex(size: i32, e: i32, rng: &mut RNG, heap: Option<*mut std::os::raw::c_void>, dev_id: Option) -> Result { let mut wc_rsakey: MaybeUninit = MaybeUninit::uninit(); let heap = match heap { Some(heap) => heap, @@ -455,6 +455,7 @@ impl RSA { return Err(rc); } let mut wc_rsakey = unsafe { wc_rsakey.assume_init() }; + let e = e as core::ffi::c_long; let rc = unsafe { sys::wc_MakeRsaKey(&mut wc_rsakey, size, e, &mut rng.wc_rng) };