]>
Commit | Line | Data |
---|---|---|
8211a33c DSH |
1 | =pod |
2 | ||
3 | =head1 NAME | |
4 | ||
c74aaa39 DDO |
5 | EVP_PKEY_missing_parameters, EVP_PKEY_copy_parameters, EVP_PKEY_parameters_eq, |
6 | EVP_PKEY_cmp_parameters, EVP_PKEY_eq, | |
9d22666e | 7 | EVP_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 | ||
23 | The function EVP_PKEY_missing_parameters() returns 1 if the public key | |
24 | parameters of B<pkey> are missing and 0 if they are present or the algorithm | |
25 | doesn't use parameters. | |
26 | ||
27 | The function EVP_PKEY_copy_parameters() copies the parameters from key | |
f72f00d4 DSH |
28 | B<from> to key B<to>. An error is returned if the parameters are missing in |
29 | B<from> or present in both B<from> and B<to> and mismatch. If the parameters | |
30 | in B<from> and B<to> are both present and match this function has no effect. | |
8211a33c | 31 | |
c74aaa39 DDO |
32 | The function EVP_PKEY_parameters_eq() checks the parameters of keys |
33 | B<a> and B<b> for equality. | |
8211a33c | 34 | |
c74aaa39 DDO |
35 | The 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 | ||
40 | The main purpose of the functions EVP_PKEY_missing_parameters() and | |
41 | EVP_PKEY_copy_parameters() is to handle public keys in certificates where the | |
42 | parameters are sometimes omitted from a public key if they are inherited from | |
43 | the CA that signed it. | |
44 | ||
45 | Since OpenSSL private keys contain public key components too the function | |
c74aaa39 | 46 | EVP_PKEY_eq() can also be used to determine if a private key matches |
8211a33c DSH |
47 | a public key. |
48 | ||
49 | =head1 RETURN VALUES | |
50 | ||
51 | The function EVP_PKEY_missing_parameters() returns 1 if the public key | |
52 | parameters of B<pkey> are missing and 0 if they are present or the algorithm | |
53 | doesn't use parameters. | |
54 | ||
55 | These functions EVP_PKEY_copy_parameters() returns 1 for success and 0 for | |
56 | failure. | |
57 | ||
c74aaa39 DDO |
58 | The function EVP_PKEY_parameters_eq() and EVP_PKEY_eq() return 1 if their |
59 | inputs 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 | 64 | L<EVP_PKEY_CTX_new(3)>, |
1bc74519 | 65 | L<EVP_PKEY_keygen(3)> |
8211a33c | 66 | |
c74aaa39 DDO |
67 | =head1 HISTORY |
68 | ||
69 | The function EVP_PKEY_cmp was deprecated and renamed to B<EVP_PKEY_eq> and | |
70 | EVP_PKEY_cmp_parameters was deprecated and renamed to B<EVP_PKEY_parameters_eq> | |
71 | (without changing semantics) in OpenSSL 3.0. | |
72 | This was done to avoid confusion on their return values with other _cmp() | |
73 | functions that return 0 in case their arguments are equal. | |
74 | ||
e2f92610 RS |
75 | =head1 COPYRIGHT |
76 | ||
77 | Copyright 2006-2016 The OpenSSL Project Authors. All Rights Reserved. | |
78 | ||
4746f25a | 79 | Licensed under the Apache License 2.0 (the "License"). You may not use |
e2f92610 RS |
80 | this file except in compliance with the License. You can obtain a copy |
81 | in the file LICENSE in the source distribution or at | |
82 | L<https://www.openssl.org/source/license.html>. | |
83 | ||
84 | =cut |