5 SSL_CTX_set_min_proto_version, SSL_CTX_set_max_proto_version,
6 SSL_CTX_get_min_proto_version, SSL_CTX_get_max_proto_version,
7 SSL_set_min_proto_version, SSL_set_max_proto_version,
8 SSL_get_min_proto_version, SSL_get_max_proto_version - Get and set minimum
9 and maximum supported protocol version
13 #include <openssl/ssl.h>
15 int SSL_CTX_set_min_proto_version(SSL_CTX *ctx, int version);
16 int SSL_CTX_set_max_proto_version(SSL_CTX *ctx, int version);
17 int SSL_CTX_get_min_proto_version(SSL_CTX *ctx);
18 int SSL_CTX_get_max_proto_version(SSL_CTX *ctx);
20 int SSL_set_min_proto_version(SSL *ssl, int version);
21 int SSL_set_max_proto_version(SSL *ssl, int version);
22 int SSL_get_min_proto_version(SSL *ssl);
23 int SSL_get_max_proto_version(SSL *ssl);
27 The functions get or set the minimum and maximum supported protocol versions
28 for the B<ctx> or B<ssl>.
29 This works in combination with the options set via
30 L<SSL_CTX_set_options(3)> that also make it possible to disable
31 specific protocol versions.
32 Use these functions instead of disabling specific protocol versions.
34 Setting the minimum or maximum version to 0, will enable protocol
35 versions down to the lowest version, or up to the highest version
36 supported by the library, respectively.
38 Getters return 0 in case B<ctx> or B<ssl> have been configured to
39 automatically use the lowest or highest version supported by the library.
41 Currently supported versions are B<SSL3_VERSION>, B<TLS1_VERSION>,
42 B<TLS1_1_VERSION>, B<TLS1_2_VERSION>, B<TLS1_3_VERSION> for TLS and
43 B<DTLS1_VERSION>, B<DTLS1_2_VERSION> for DTLS.
45 In the current version of OpenSSL only QUICv1 is supported in conjunction with
46 TLSv1.3. Calling these functions on a QUIC object has no effect.
50 These setter functions return 1 on success and 0 on failure. The getter
51 functions return the configured version or 0 for auto-configuration of
52 lowest or highest protocol, respectively.
56 All these functions are implemented using macros.
61 L<SSL_CTX_set_options(3)>, L<SSL_CONF_cmd(3)>
65 The setter functions were added in OpenSSL 1.1.0. The getter functions
66 were added in OpenSSL 1.1.1.
70 Copyright 2016-2023 The OpenSSL Project Authors. All Rights Reserved.
72 Licensed under the Apache License 2.0 (the "License"). You may not use
73 this file except in compliance with the License. You can obtain a copy
74 in the file LICENSE in the source distribution or at
75 L<https://www.openssl.org/source/license.html>.