EVP_PKEY_encapsulate

Perform key encapsulation: produce a wrapped key and a shared secret.

Synopsis

Declared in <openssl/evp.h>

int
EVP_PKEY_encapsulate(
    EVP_PKEY_CTX* ctx,
    unsigned char* wrappedkey,
    size_t* wrappedkeylen,
    unsigned char* genkey,
    size_t* genkeylen);

Return Value

1 on success, or a non-positive value on failure.

Parameters

NameDescription
ctxContext previously initialized with EVP_PKEY_encapsulate_init().
wrappedkeyBuffer receiving the encapsulated key, or NULL to query lengths.
wrappedkeylenIn/out length of wrappedkey.
genkeyBuffer receiving the generated shared secret, or NULL to query lengths.
genkeylenIn/out length of genkey.