EVP_PKEY_cmp.pod revision 306195
1=pod 2 3=head1 NAME 4 5EVP_PKEY_copy_parameters, EVP_PKEY_missing_parameters, EVP_PKEY_cmp_parameters, EVP_PKEY_cmp - public key parameter and comparison functions 6 7=head1 SYNOPSIS 8 9 #include <openssl/evp.h> 10 11 int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey); 12 int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from); 13 14 int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b); 15 int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b); 16 17=head1 DESCRIPTION 18 19The function EVP_PKEY_missing_parameters() returns 1 if the public key 20parameters of B<pkey> are missing and 0 if they are present or the algorithm 21doesn't use parameters. 22 23The function EVP_PKEY_copy_parameters() copies the parameters from key 24B<from> to key B<to>. An error is returned if the parameters are missing in 25B<from> or present in both B<from> and B<to> and mismatch. If the parameters 26in B<from> and B<to> are both present and match this function has no effect. 27 28The function EVP_PKEY_cmp_parameters() compares the parameters of keys 29B<a> and B<b>. 30 31The function EVP_PKEY_cmp() compares the public key components and paramters 32(if present) of keys B<a> and B<b>. 33 34=head1 NOTES 35 36The main purpose of the functions EVP_PKEY_missing_parameters() and 37EVP_PKEY_copy_parameters() is to handle public keys in certificates where the 38parameters are sometimes omitted from a public key if they are inherited from 39the CA that signed it. 40 41Since OpenSSL private keys contain public key components too the function 42EVP_PKEY_cmp() can also be used to determine if a private key matches 43a public key. 44 45=head1 RETURN VALUES 46 47The function EVP_PKEY_missing_parameters() returns 1 if the public key 48parameters of B<pkey> are missing and 0 if they are present or the algorithm 49doesn't use parameters. 50 51These functions EVP_PKEY_copy_parameters() returns 1 for success and 0 for 52failure. 53 54The function EVP_PKEY_cmp_parameters() and EVP_PKEY_cmp() return 1 if the 55keys match, 0 if they don't match, -1 if the key types are different and 56-2 if the operation is not supported. 57 58=head1 SEE ALSO 59 60L<EVP_PKEY_CTX_new(3)|EVP_PKEY_CTX_new(3)>, 61L<EVP_PKEY_keygen(3)|EVP_PKEY_keygen(3)> 62 63=cut 64