SSL_CTX_SET_SSL_VERSION(3) | Library Functions Manual | SSL_CTX_SET_SSL_VERSION(3)

# NAME

`SSL_CTX_set_ssl_version`, `SSL_set_ssl_method`, `SSL_CTX_get_ssl_method`, `SSL_get_ssl_method` — choose a new TLS/SSL method

# SYNOPSIS

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

int
`SSL_CTX_set_ssl_version`(SSL_CTX *ctx, const SSL_METHOD *method);

int
`SSL_set_ssl_method`(SSL *s, const SSL_METHOD *method);

const SSL_METHOD *
`SSL_CTX_get_ssl_method`(SSL_CTX *ctx);

const SSL_METHOD *
`SSL_get_ssl_method`(SSL *ssl);

# DESCRIPTION

`SSL_CTX_set_ssl_version`() sets a new default TLS/SSL method for SSL objects newly created from this ctx. SSL objects already created with SSL_new(3) are not affected, except when SSL_clear(3) is called.

`SSL_set_ssl_method`() sets a new TLS/SSL method for a particular SSL object s. It may be reset when SSL_clear(3) is called.

`SSL_CTX_get_ssl_method`() and `SSL_get_ssl_method`() return a function pointer to the TLS/SSL method set in ctx and ssl, respectively.

The available method choices are described in SSL_CTX_new(3).

When SSL_clear(3) is called and no session is connected to an SSL object, the method of the SSL object is reset to the method currently set in the corresponding SSL_CTX object.

# RETURN VALUES

The following return values can occur for `SSL_CTX_set_ssl_version`() and `SSL_set_ssl_method`():

0
  The new choice failed. Check the error stack to find out the reason.
1
  The operation succeeded.

# SEE ALSO

ssl(3), SSL_clear(3), SSL_CTX_new(3), SSL_new(3), SSL_set_connect_state(3)

# HISTORY

`SSL_CTX_set_ssl_version`(), `SSL_set_ssl_method`(), and `SSL_get_ssl_method`() first appeared in SSLeay 0.8.0 and have been available since OpenBSD 2.4. `SSL_CTX_get_ssl_method`() first appeared in OpenSSL 1.1.0 and has been available since OpenBSD 7.0.

June 8, 2025 | Debian