1=pod
2
3=head1 NAME
4
5EVP_PKEY_CTX_get0_pkey,
6EVP_PKEY_CTX_get0_peerkey
7- functions for accessing the EVP_PKEY associated with an EVP_PKEY_CTX
8
9=head1 SYNOPSIS
10
11 #include <openssl/evp.h>
12
13 EVP_PKEY *EVP_PKEY_CTX_get0_pkey(EVP_PKEY_CTX *ctx);
14 EVP_PKEY *EVP_PKEY_CTX_get0_peerkey(EVP_PKEY_CTX *ctx);
15
16=head1 DESCRIPTION
17
18EVP_PKEY_CTX_get0_pkey() is used to access the B<EVP_PKEY>
19associated with the given B<EVP_PKEY_CTX> I<ctx>.
20The B<EVP_PKEY> obtained is the one used for creating the B<EVP_PKEY_CTX>
21using either L<EVP_PKEY_CTX_new(3)> or L<EVP_PKEY_CTX_new_from_pkey(3)>.
22
23EVP_PKEY_CTX_get0_peerkey() is used to access the peer B<EVP_PKEY>
24associated with the given B<EVP_PKEY_CTX> I<ctx>.
25The peer B<EVP_PKEY> obtained is the one set using
26either L<EVP_PKEY_derive_set_peer(3)> or L<EVP_PKEY_derive_set_peer_ex(3)>.
27
28=head1 RETURN VALUES
29
30EVP_PKEY_CTX_get0_pkey() returns the B<EVP_PKEY> associated with the
31EVP_PKEY_CTX or NULL if it is not set.
32
33EVP_PKEY_CTX_get0_peerkey() returns the peer B<EVP_PKEY> associated with the
34EVP_PKEY_CTX or NULL if it is not set.
35
36The returned EVP_PKEY objects are owned by the EVP_PKEY_CTX,
37and therefore should not explicitly be freed by the caller.
38
39These functions do not affect the EVP_PKEY reference count.
40They merely act as getter functions, and should be treated as such.
41
42=head1 SEE ALSO
43
44L<EVP_PKEY_CTX_new(3)>, L<EVP_PKEY_CTX_new_from_pkey(3)>,
45L<EVP_PKEY_derive_set_peer(3)>, L<EVP_PKEY_derive_set_peer_ex(3)>
46
47=head1 COPYRIGHT
48
49Copyright 2022-2023 The OpenSSL Project Authors. All Rights Reserved.
50
51Licensed under the Apache License 2.0 (the "License").
52You may not use this file except in compliance with the License.
53You can obtain a copy in the file LICENSE in the source distribution or at
54L<https://www.openssl.org/source/license.html>.
55
56=cut
57