Manual Page Result
0
Command: EVP_PKEY_CTX_new | Section: 3 | Source: OpenBSD | File: EVP_PKEY_CTX_new.3
EVP_PKEY_CTX_NEW(3) FreeBSD Library Functions Manual EVP_PKEY_CTX_NEW(3)
NAME
EVP_PKEY_CTX_new, EVP_PKEY_CTX_new_id, EVP_PKEY_CTX_dup,
EVP_PKEY_CTX_free - public key algorithm context functions
SYNOPSIS
#include <openssl/evp.h>
EVP_PKEY_CTX *
EVP_PKEY_CTX_new(EVP_PKEY *pkey, ENGINE *engine);
EVP_PKEY_CTX *
EVP_PKEY_CTX_new_id(int id, ENGINE *engine);
EVP_PKEY_CTX *
EVP_PKEY_CTX_dup(EVP_PKEY_CTX *ctx);
void
EVP_PKEY_CTX_free(EVP_PKEY_CTX *ctx);
DESCRIPTION
The EVP_PKEY_CTX_new() function allocates a public key algorithm context
using the algorithm specified in pkey. The ENGINE *engine argument is
always ignored and passing NULL is recommended.
The EVP_PKEY_CTX_new_id() function allocates a public key algorithm
context using the algorithm specified by id. The ENGINE *engine argument
is always ignored and passing NULL is recommended. It is normally used
when no EVP_PKEY structure is associated with the operations, for example
during parameter generation of key generation for some algorithms. The
id argument can be any of the constants that EVP_PKEY_base_id(3) and
EVP_PKEY_id(3) may return.
EVP_PKEY_CTX_dup() duplicates the context ctx.
EVP_PKEY_CTX_free() frees up the context ctx. If ctx is a NULL pointer,
no action occurs.
RETURN VALUES
EVP_PKEY_CTX_new(), EVP_PKEY_CTX_new_id(), and EVP_PKEY_CTX_dup() return
either the newly allocated EVP_PKEY_CTX structure or NULL if an error
occurred.
SEE ALSO
EVP_DigestSignInit(3), EVP_DigestVerifyInit(3), EVP_PKEY_base_id(3),
EVP_PKEY_CTX_ctrl(3), EVP_PKEY_CTX_get_operation(3),
EVP_PKEY_CTX_hkdf_mode(3), EVP_PKEY_decrypt(3), EVP_PKEY_derive(3),
EVP_PKEY_encrypt(3), EVP_PKEY_keygen(3), EVP_PKEY_new(3),
EVP_PKEY_sign(3), EVP_PKEY_verify(3), EVP_PKEY_verify_recover(3),
RSA_pkey_ctx_ctrl(3), X25519(3)
HISTORY
These functions first appeared in OpenSSL 1.0.0 and have been available
since OpenBSD 4.9.
CAVEATS
The EVP_PKEY_CTX structure is an opaque public key algorithm context used
by the OpenSSL high level public key API. Contexts MUST NOT be shared
between threads. It is not permissible to use the same context
simultaneously in two threads.
FreeBSD 14.1-RELEASE-p8 December 6, 2024 FreeBSD 14.1-RELEASE-p8