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 *e);
EVP_PKEY_CTX *
EVP_PKEY_CTX_new_id
(int id,
ENGINE *e);
EVP_PKEY_CTX *
EVP_PKEY_CTX_dup
(EVP_PKEY_CTX
*ctx);
void
EVP_PKEY_CTX_free
(EVP_PKEY_CTX
*ctx);
DESCRIPTION
TheEVP_PKEY_CTX_new
()
function allocates a public key algorithm context using the algorithm
specified in pkey and the ENGINE
e.
The
EVP_PKEY_CTX_new_id
()
function allocates a public key algorithm context using the algorithm
specified by id and ENGINE
e. 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.
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
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.