Unverified Commit ca425b87 authored by Huw Jones's avatar Huw Jones
Browse files

sys/ec: add EVP_PKEY_CTX_set_ec_paramgen_curve_nid

parent 93f9e02e
Loading
Loading
Loading
Loading
+16 −0
Original line number Diff line number Diff line
@@ -5,6 +5,20 @@ use super::*;

pub const OPENSSL_EC_NAMED_CURVE: c_int = 1;

cfg_if! {
    if #[cfg(not(ossl300))] {
        pub unsafe fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(ctx: *mut EVP_PKEY_CTX, nid: c_int) -> c_int {
            EVP_PKEY_CTX_ctrl(
                ctx,
                EVP_PKEY_EC,
                EVP_PKEY_OP_PARAMGEN|EVP_PKEY_OP_KEYGEN,
                EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID,
                nid,
                ptr::null_mut(),
            )
        }
    }
}
#[cfg(ossl300)]
pub unsafe fn EVP_EC_gen(curve: *const c_char) -> *mut EVP_PKEY {
    EVP_PKEY_Q_keygen(
@@ -14,3 +28,5 @@ pub unsafe fn EVP_EC_gen(curve: *const c_char) -> *mut EVP_PKEY {
        curve,
    )
}

pub const EVP_PKEY_CTRL_EC_PARAMGEN_CURVE_NID: c_int = EVP_PKEY_ALG_CTRL + 1;
+5 −0
Original line number Diff line number Diff line
use super::super::*;
use libc::*;

#[cfg(ossl300)]
extern "C" {
    pub fn EVP_PKEY_CTX_set_ec_paramgen_curve_nid(ctx: *mut EVP_PKEY_CTX, nid: c_int) -> c_int;
}

#[repr(C)]
#[derive(Copy, Clone)]
pub enum point_conversion_form_t {