SSL_CTX_SET_TMP_RSA_CALLBACK(3) | Library Functions Manual | SSL_CTX_SET_TMP_RSA_CALLBACK(3)

# NAME

`SSL_CTX_set_tmp_rsa_callback`, `SSL_CTX_set_tmp_rsa`, `SSL_CTX_need_tmp_RSA`, `SSL_set_tmp_rsa_callback`, `SSL_set_tmp_rsa`, `SSL_need_tmp_RSA` — handle RSA keys for ephemeral key exchange

# SYNOPSIS

library “libssl” libcrypto
`#include <openssl/ssl.h>`

void
`SSL_CTX_set_tmp_rsa_callback`(SSL_CTX *ctx, RSA *(*tmp_rsa_callback)(SSL *ssl, int is_export, int keylength));

long
`SSL_CTX_set_tmp_rsa`(SSL_CTX *ctx, RSA *rsa);

long
`SSL_CTX_need_tmp_RSA`(SSL_CTX *ctx);

void
`SSL_set_tmp_rsa_callback`(SSL_CTX *ctx, RSA *(*tmp_rsa_callback)(SSL *ssl, int is_export, int keylength));

long
`SSL_set_tmp_rsa`(SSL *ssl, RSA *rsa);

long
`SSL_need_tmp_RSA`(SSL *ssl);

# DESCRIPTION

Since they mattered only for deliberately insecure RSA authentication mandated by historical U.S. export restrictions, these functions are all deprecated and have no effect except that `SSL_CTX_set_tmp_rsa_callback`(), `SSL_CTX_set_tmp_rsa`(), `SSL_set_tmp_rsa_callback`(), and `SSL_set_tmp_rsa`() issue error messages when called.

# RETURN VALUES

These functions always return 0, indicating failure.

# SEE ALSO

ssl(3), SSL_CTX_set_cipher_list(3), SSL_CTX_set_options(3), SSL_CTX_set_tmp_dh_callback(3), SSL_new(3), SSL_set_tmp_ecdh(3)

# HISTORY

`SSL_CTX_set_tmp_rsa_callback`(), `SSL_CTX_set_tmp_rsa`(), and `SSL_CTX_need_tmp_RSA`() first appeared in SSLeay 0.8.0 and have been available since OpenBSD 2.4.

`SSL_set_tmp_rsa_callback`(), `SSL_set_tmp_rsa`(), and `SSL_need_tmp_RSA`() first appeared in OpenSSL 0.9.2b and have been available since OpenBSD 2.6.

June 8, 2025 | Debian