OpenBSD manual page server

Manual Page Search Parameters

EVP_PKEY_CMP(3) Library Functions Manual EVP_PKEY_CMP(3)

EVP_PKEY_missing_parameters, EVP_PKEY_copy_parameters, EVP_PKEY_cmp_parameters, EVP_PKEY_cmppublic key parameter and comparison functions

#include <openssl/evp.h>

int
EVP_PKEY_missing_parameters(const EVP_PKEY *pkey);

int
EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from);

int
EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b);

int
EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b);

The function () returns 1 if the public key parameters of pkey are missing and 0 if they are present or the algorithm doesn't use parameters.

The function () copies the parameters from key from to key to. An error is returned if the parameters are missing in from.

The function () compares the parameters of keys a and b.

The function () compares the public key components and parameters (if present) of keys a and b.

The main purpose of the functions () and EVP_PKEY_copy_parameters() is to handle public keys in certificates where the parameters are sometimes omitted from a public key if they are inherited from the CA that signed it.

Since OpenSSL private keys contain public key components too, the function () can also be used to determine if a private key matches a public key.

The function EVP_PKEY_missing_parameters() returns 1 if the public key parameters of pkey are missing and 0 if they are present or the algorithm doesn't use parameters.

The function EVP_PKEY_copy_parameters() returns 1 for success and 0 for failure.

The functions EVP_PKEY_cmp_parameters() and EVP_PKEY_cmp() return 1 if the keys match, 0 if they don't match, -1 if the key types are different and -2 if the operation is not supported.

EVP_PKEY_asn1_set_public(3), EVP_PKEY_CTX_new(3), EVP_PKEY_keygen(3)

EVP_PKEY_missing_parameters() and EVP_PKEY_copy_parameters() appeared in SSLeay 0.8.1b or earlier. EVP_PKEY_cmp_parameters() first appeared in SSLeay 0.9.0. These functions have been available since OpenBSD 2.4.

EVP_PKEY_cmp() first appeared in OpenSSL 0.9.8 and has been available since OpenBSD 4.5.

March 23, 2018 OpenBSD-6.3