diff options
author | cos <cos> | 2021-03-10 15:48:07 +0100 |
---|---|---|
committer | cos <cos> | 2021-03-11 09:03:06 +0100 |
commit | 62acbe3a3edd9487bb12f653e88bb9d12de11d8f (patch) | |
tree | 276ff2ba3910f06e228ffd2e17787c8d18dc34ec /openssl/src/dh.rs | |
parent | ff94c7f5030a0fa012a37e76cd2fa2d8896360dc (diff) | |
download | rust-openssl-62acbe3a3edd9487bb12f653e88bb9d12de11d8f.zip |
Use DH_generate_parameters_ex()fix/modern_generate_parameters
https://www.openssl.org/docs/man1.1.0/man3/DH_generate_parameters.html
states that DH_generate_parameters() is deprecated. It has been so since
OpenSSL 0.9.8 was released in 2005.
Diffstat (limited to 'openssl/src/dh.rs')
-rw-r--r-- | openssl/src/dh.rs | 13 |
1 files changed, 8 insertions, 5 deletions
diff --git a/openssl/src/dh.rs b/openssl/src/dh.rs index ecb703b5..4ace7601 100644 --- a/openssl/src/dh.rs +++ b/openssl/src/dh.rs @@ -75,17 +75,20 @@ impl Dh<Params> { /// Generates DH params based on the given `prime_len` and a fixed `generator` value. /// - /// This corresponds to [`DH_generate_parameters`]. + /// This corresponds to [`DH_generate_parameters_ex`]. /// - /// [`DH_generate_parameters`]: https://www.openssl.org/docs/man1.1.0/crypto/DH_generate_parameters.html + /// [`DH_new`]: https://www.openssl.org/docs/man1.1.0/crypto/DH_new.html + /// [`DH_generate_parameters_ex`]: https://www.openssl.org/docs/man1.1.0/crypto/DH_generate_parameters.html pub fn generate_params(prime_len: u32, generator: u32) -> Result<Dh<Params>, ErrorStack> { unsafe { - Ok(Dh::from_ptr(cvt_p(ffi::DH_generate_parameters( + let dh = Dh::from_ptr(cvt_p(ffi::DH_new())?); + cvt(ffi::DH_generate_parameters_ex( + dh.0, prime_len as i32, generator as i32, - None, ptr::null_mut(), - ))?)) + ))?; + Ok(dh) } } |