]> git.ipfire.org Git - thirdparty/openssl.git/blame - doc/man3/EVP_PKEY_copy_parameters.pod
Move EC_METHOD to internal-only
[thirdparty/openssl.git] / doc / man3 / EVP_PKEY_copy_parameters.pod
CommitLineData
8211a33c
DSH
1=pod
2
3=head1 NAME
4
c74aaa39
DDO
5EVP_PKEY_missing_parameters, EVP_PKEY_copy_parameters, EVP_PKEY_parameters_eq,
6EVP_PKEY_cmp_parameters, EVP_PKEY_eq,
9d22666e 7EVP_PKEY_cmp - public key parameter and comparison functions
8211a33c
DSH
8
9=head1 SYNOPSIS
10
11 #include <openssl/evp.h>
12
13 int EVP_PKEY_missing_parameters(const EVP_PKEY *pkey);
14 int EVP_PKEY_copy_parameters(EVP_PKEY *to, const EVP_PKEY *from);
15
c74aaa39 16 int EVP_PKEY_parameters_eq(const EVP_PKEY *a, const EVP_PKEY *b);
8211a33c 17 int EVP_PKEY_cmp_parameters(const EVP_PKEY *a, const EVP_PKEY *b);
c74aaa39 18 int EVP_PKEY_eq(const EVP_PKEY *a, const EVP_PKEY *b);
8211a33c
DSH
19 int EVP_PKEY_cmp(const EVP_PKEY *a, const EVP_PKEY *b);
20
21=head1 DESCRIPTION
22
23The function EVP_PKEY_missing_parameters() returns 1 if the public key
24parameters of B<pkey> are missing and 0 if they are present or the algorithm
25doesn't use parameters.
26
27The function EVP_PKEY_copy_parameters() copies the parameters from key
f72f00d4
DSH
28B<from> to key B<to>. An error is returned if the parameters are missing in
29B<from> or present in both B<from> and B<to> and mismatch. If the parameters
30in B<from> and B<to> are both present and match this function has no effect.
8211a33c 31
c74aaa39
DDO
32The function EVP_PKEY_parameters_eq() checks the parameters of keys
33B<a> and B<b> for equality.
8211a33c 34
c74aaa39
DDO
35The function EVP_PKEY_eq() checks the public key components and parameters
36(if present) of keys B<a> and B<b> for equality.
8211a33c
DSH
37
38=head1 NOTES
39
40The main purpose of the functions EVP_PKEY_missing_parameters() and
41EVP_PKEY_copy_parameters() is to handle public keys in certificates where the
42parameters are sometimes omitted from a public key if they are inherited from
43the CA that signed it.
44
45Since OpenSSL private keys contain public key components too the function
c74aaa39 46EVP_PKEY_eq() can also be used to determine if a private key matches
8211a33c
DSH
47a public key.
48
49=head1 RETURN VALUES
50
51The function EVP_PKEY_missing_parameters() returns 1 if the public key
52parameters of B<pkey> are missing and 0 if they are present or the algorithm
53doesn't use parameters.
54
55These functions EVP_PKEY_copy_parameters() returns 1 for success and 0 for
56failure.
57
c74aaa39
DDO
58The function EVP_PKEY_parameters_eq() and EVP_PKEY_eq() return 1 if their
59inputs match, 0 if they don't match, -1 if the key types are different and
8211a33c
DSH
60-2 if the operation is not supported.
61
62=head1 SEE ALSO
63
9b86974e 64L<EVP_PKEY_CTX_new(3)>,
1bc74519 65L<EVP_PKEY_keygen(3)>
8211a33c 66
c74aaa39
DDO
67=head1 HISTORY
68
69The function EVP_PKEY_cmp was deprecated and renamed to B<EVP_PKEY_eq> and
70EVP_PKEY_cmp_parameters was deprecated and renamed to B<EVP_PKEY_parameters_eq>
71(without changing semantics) in OpenSSL 3.0.
72This was done to avoid confusion on their return values with other _cmp()
73functions that return 0 in case their arguments are equal.
74
e2f92610
RS
75=head1 COPYRIGHT
76
77Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved.
78
4746f25a 79Licensed under the Apache License 2.0 (the "License"). You may not use
e2f92610
RS
80this file except in compliance with the License. You can obtain a copy
81in the file LICENSE in the source distribution or at
82L<https://www.openssl.org/source/license.html>.
83
84=cut