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