NAME¶
EVP_PKEY_copy_parameters, EVP_PKEY_missing_parameters, EVP_PKEY_cmp_parameters,
EVP_PKEY_cmp - public key parameter and comparison functions
SYNOPSIS¶
#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);
DESCRIPTION¶
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() copies the parameters from key
from to key
to. An error is returned if the parameters are
missing in
from or present in both
from and
to and
mismatch. If the parameters in
from and
to are both present and
match this function has no effect.
The function
EVP_PKEY_cmp_parameters() compares the parameters of keys
a and
b.
The function
EVP_PKEY_cmp() compares the public key components and
paramters (if present) of keys
a and
b.
NOTES¶
The main purpose of the functions
EVP_PKEY_missing_parameters() 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
EVP_PKEY_cmp() can also be used to determine if a private key matches a
public key.
RETURN VALUES¶
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.
These functions
EVP_PKEY_copy_parameters() returns 1 for success and 0
for failure.
The function
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.
SEE ALSO¶
EVP_PKEY_CTX_new(3),
EVP_PKEY_keygen(3)