xref: /freebsd/crypto/openssl/doc/man3/SSL_get_peer_tmp_key.pod (revision dd41de95a84d979615a2ef11df6850622bf6184e)
1=pod
2
3=head1 NAME
4
5SSL_get_peer_tmp_key, SSL_get_server_tmp_key, SSL_get_tmp_key - get information
6about temporary keys used during a handshake
7
8=head1 SYNOPSIS
9
10 #include <openssl/ssl.h>
11
12 long SSL_get_peer_tmp_key(SSL *ssl, EVP_PKEY **key);
13 long SSL_get_server_tmp_key(SSL *ssl, EVP_PKEY **key);
14 long SSL_get_tmp_key(SSL *ssl, EVP_PKEY **key);
15
16=head1 DESCRIPTION
17
18SSL_get_peer_tmp_key() returns the temporary key provided by the peer and
19used during key exchange. For example, if ECDHE is in use, then this represents
20the peer's public ECDHE key. On success a pointer to the key is stored in
21B<*key>. It is the caller's responsibility to free this key after use using
22L<EVP_PKEY_free(3)>.
23
24SSL_get_server_tmp_key() is a backwards compatibility alias for
25SSL_get_peer_tmp_key().
26Under that name it worked just on the client side of the connection, its
27behaviour on the server end is release-dependent.
28
29SSL_get_tmp_key() returns the equivalent information for the local
30end of the connection.
31
32=head1 RETURN VALUES
33
34All these functions return 1 on success and 0 otherwise.
35
36=head1 NOTES
37
38This function is implemented as a macro.
39
40=head1 SEE ALSO
41
42L<ssl(7)>, L<EVP_PKEY_free(3)>
43
44=head1 COPYRIGHT
45
46Copyright 2017-2018 The OpenSSL Project Authors. All Rights Reserved.
47
48Licensed under the OpenSSL license (the "License").  You may not use
49this file except in compliance with the License.  You can obtain a copy
50in the file LICENSE in the source distribution or at
51L<https://www.openssl.org/source/license.html>.
52
53=cut
54