SSL_get_peer_tmp_key(3ssl)

SSL_get_peer_tmp_key3ssl

Get information about temporary keys used during a handshake

Usage

 #include <openssl/ssl.h>
 long SSL_get_peer_tmp_key(SSL *ssl, EVP_PKEY **key);
 long SSL_get_server_tmp_key(SSL *ssl, EVP_PKEY **key);
 long SSL_get_tmp_key(SSL *ssl, EVP_PKEY **key);

Overview

SSL_get_peer_tmp_key() returns the temporary key provided by the peer and used during key exchange. For example, if ECDHE is in use, then this represents the peer's public ECDHE key. On success a pointer to the key is stored in *key. It is the caller's responsibility to free this key after use using EVP_PKEY_free(3).

SSL_get_server_tmp_key() is a backwards compatibility alias for SSL_get_peer_tmp_key(). Under that name it worked just on the client side of the connection, its behaviour on the server end is release-dependent.

SSL_get_tmp_key() returns the equivalent information for the local end of the connection.

Return values

All these functions return 1 on success and 0 otherwise.

Notes

This function is implemented as a macro.

Releases

5 releases since Debian 10 (Buster); the text changed 4 times.

  1. 10
  2. 11
  3. 12
  4. 13
  5. Arch

History

SSL_get_peer_tmp_key(), SSL_get_tmp_key() were added in OpenSSL 1.1.1a.

From openssl 3.6.5-1 in Arch Linux 2026-11-01. Parsed by carta from the page's man source.