<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.openssl.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tmshort</id>
	<title>OpenSSLWiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.openssl.org/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Tmshort"/>
	<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php/Special:Contributions/Tmshort"/>
	<updated>2026-04-07T02:13:24Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.35.13</generator>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=List_of_SSL_OP_Flags&amp;diff=3180</id>
		<title>List of SSL OP Flags</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=List_of_SSL_OP_Flags&amp;diff=3180"/>
		<updated>2021-08-05T20:51:02Z</updated>

		<summary type="html">&lt;p&gt;Tmshort: Update for 3.0&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
== Option Flags ==&lt;br /&gt;
This page lists all the SSL_OP flags available in OpenSSL. These values are passed to the '''SSL_CTX_set_options()''', '''SSL_CTX_clear_options()''' functions and returned by the SSL_CTX_get_options() function (and corresponding SSL-equivalents).&lt;br /&gt;
&lt;br /&gt;
Options with a value of 0 have no effect.&lt;br /&gt;
&lt;br /&gt;
OpenSSL 3.0 changed the type of the option value to be '''uint64_t''', to support more than 32 options. In addition, the definitions were changed to use the '''SSL_OP_BIT()''' macro.&lt;br /&gt;
&lt;br /&gt;
== Table of Options ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option Name !! Description !! 1.0.2 value !! 1.1.0 value !! 1.1.1 value !! 3.0 value&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_MICROSOFT_SESS_ID_BUG || No effect. || 0x00000001 || 0 || 0** || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_EXTENDED_MASTER_SECRET || Disables (RFC7627) Extended Master Secret support. || Not defined || Not defined || Not defined || SSL_OP_BIT(0)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_CHALLENGE_BUG || No effect. || 0x00000002 || 0 || 0** || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CLEANSE_PLAINTEXT || Cleanse plaintext copies of data delivered to the application. || Not defined || Not defined || Not defined || SSL_OP_BIT(1)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_LEGACY_SERVER_CONNECT || Allow legacy insecure renegotiation between OpenSSL and unpatched servers  only. || 0x00000004 || 0x00000004 || 0x00000004U || SSL_OP_BIT(2)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG || No effect. || 0x00000008 || 0 || 0** || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ENABLE_KTLS || KTLS (Linux Kernel TLS) Support || Not defined || Not defined || Not defined || SSL_OP_BIT(3)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLSEXT_PADDING || Adds a padding extension to ensure the ClientHello size is never between 256 and 511 bytes in length. || 0x00000010 || 0x00000010 || 0x00000010U || SSL_OP_BIT(4)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER || Accept large records (18K+) from Microsoft servers/clients. || 0x00000020 || 0 || 0** || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SAFARI_ECDHE_ECDSA_BUG || Don't prefer ECDHE-ECDSA ciphers when the client appears to be Safari on OS X. OS X 10.8...10.8.3 has broken support for ECDHE-ECDSA ciphers. || 0x00000040 || 0x00000040 || 0x00000040U || SSL_OP_BIT(6)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SSLEAY_080_CLIENT_DH_BUG || Allow invalid client DH parameters during client key exchange. || 0x00000080 || 0 || 0** || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_IGNORE_UNEXPECTED_EOF || Ignore missing close-notify alerts. || Not defined || Not defined || Not defined || SSL_OP_BIT(7)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLS_D5_BUG || Allow invalid RSA encrypted length from client during client key exchange. || 0x00000100 || 0 || 0** || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALLOW_CLIENT_RENEGOTIATION || Allow the use of client renegotiation. || Not defined || Not defined || Not defined || SSL_OP_BIT(8)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLS_BLOCK_PADDING_BUG || Compensate for incorrect padding. || 0x00000200 || 0 || 0** || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_DISABLE_TLSEXT_CA_NAMES || Disable TLS extension CA names for Windows compatibility. || Not defined || Not defined || Not defined || SSL_OP_BIT(9)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALLOW_NO_DHE_KEX || In TLSv1.3 allow a non-(EC)DHE-based key exchange mode || Not defined || Not defined || 0x00000400U || SSL_OP_BIT(10)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS || Disables a counter-measure against a SSL 3.0/TLS 1.0 protocol vulnerability affecting CBC ciphers, which cannot be handled by some broken (Microsoft) SSL implementations.|| 0x00000800 || 0x00000800 || 0x00000800U || SSL_OP_BIT(11)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_QUERY_MTU || DTLS PMTU option. || 0x00001000 || 0x00001000 || 0x00001000U || SSL_OP_BIT(12)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_COOKIE_EXCHANGE || Turn on Cookie Exchange (on relevant for servers).  || 0x00002000 || 0x00002000 || 0x00002000U || SSL_OP_BIT(13)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TICKET || Don't use RFC4507 ticket extension. || 0x00004000 || 0x00004000 || 0x00004000U || SSL_OP_BIT(14)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CISCO_ANYCONNECT || Use Cisco's version identifier of DTLS_BAD_VER (only with deprecated DTLSv1_client_method()). || 0x00008000 || 0x00008000 || 0x00008000U || SSL_OP_BIT(15)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION || As server, disallow session resumption on renegotiation. || 0x00010000 || 0x00010000 || 0x00010000U || SSL_OP_BIT(16)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_COMPRESSION || Don't use compression even if supported. This is on by default, but not in SSL_OP_ALL. || 0x00020000 || 0x00020000 || 0x00020000U || SSL_OP_BIT(17)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION || Permit unsafe legacy renegotiation.  || 0x00040000 || 0x00040000 || 0x00040000U || SSL_OP_BIT(18)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SINGLE_ECDH_USE || If set, always create a new key when using tmp_ecdh parameters.  || 0x00080000 || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_ENCRYPT_THEN MAC || Disable encrypt-then-MAC  || Not defined || Not defined || 0x00080000U || SSL_OP_BIT(19)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SINGLE_DH_USE || If set, always create a new key when using tmp_dh parameters (In recent 1.0.2, does nothing: retained for compatibility). || 0x00100000 || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ENABLE_MIDDLEBOX_COMPAT || Enable TLSv1.3 Compatibility mode. This is on by default, but not in SSL_OP_ALL. || Not defined || Not defined || 0x00100000 || SSL_OP_BIT(20)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_PRIORITIZE_CHACHA || Prioritize ChaCha20Poly1305 on servers when client does. || Not defined || Not defined || 0x00200000U || SSL_OP_BIT(21)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CIPHER_SERVER_PREFERENCE || Set on servers to choose the cipher according to the server's preferences || 0x00400000 || 0x00400000 || 0x00400000U || SSL_OP_BIT(22)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLS_ROLLBACK_BUG || Allow a client to specify SSLv3.0 in the pre-master secret even if TLSv1.0 was specified in the ClientHello. || 0x00800000 || 0x00800000 || 0x00800000U || SSL_OP_BIT(23)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SSLv2 || Disable SSLv2. || 0x01000000 || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_ANTI_REPLAY || Disable anti-replay support || Not defined || Not defined || 0x01000000U || SSL_OP_BIT(24)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SSLv3 || Disable SSLv3. || 0x02000000 || 0x02000000 || 0x02000000U || SSL_OP_BIT(25)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1/SSL_OP_NO_DTLSv1 || Disable TLSv1/DTLSv1. || 0x04000000 || 0x04000000 || 0x04000000U || SSL_OP_BIT(26)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1_2/SSL_OP_NO_DTLSv1_2 || Disable TLSv1.2/DTLSv1.2.  || 0x08000000 || 0x08000000 || 0x08000000U || SSL_OP_BIT(27)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1_1 || Disable TLSv1.1. || 0x10000000 || 0x10000000 || 0x10000000U || SSL_OP_BIT(28)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_CA_DN_BUG || || 0x20000000 || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1_3 || Diable TLSv1.3 || Not defined || Not defined || 0x20000000U || SSL_OP_BIT(29)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG || || 0x40000000 || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_RENEGOTIATION || Disallow all renegotiation  || Not defined || Not defined || 0x40000000U || SSL_OP_BIT(30)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CRYPTOPRO_TLSEXT_BUG || Adds a ServerHello TLSEXT when using a GOST cipher. || 0x80000000 || 0x80000000 || 0x80000000U || SSL_OP_BIT(31)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_PKCS1_CHECK_1 || No effect. || 0 || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_PKCS1_CHECK_2 || No effect. || 0 || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG || No effect. || 0 || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_MSIE_SSLV2_RSA_PADDING || No effect.|| 0 || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_EPHEMERAL_RSA || No effect. || 0 || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SSL_MASK || &amp;lt;nowiki&amp;gt;SSL_OP_NO_SSLv2 | SSL_OP_NO_SSLv3 | SSL_OP_NO_TLSv1 | SSL_OP_NO_TLSv1_1 | SSL_OP_NO_TLSv1_2 | SSL_OP_NO_TLSv1_3&amp;lt;/nowiki&amp;gt;  || 0x1F000000 || 0x1E000000 || 0x3E000000U || (See description)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_DTLS_MASK || &amp;lt;nowiki&amp;gt;SSL_OP_NO_DTLSv1 | SSL_OP_NO_DTLSv1_2&amp;lt;/nowiki&amp;gt; || Not defined || Not defined || 0x0C000000U || (See description)&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALL || Default set of options. || 0x80000BFF || 0x80000BFF || 0x80000854U || (See below)&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
Note: ** In this version, the original bit value (non-zero) is available for re-use in the ''next'' version.&lt;br /&gt;
== SSL_OP_ALL ==&lt;br /&gt;
=== OpenSSL 3.0 ===&lt;br /&gt;
In OpenSSL 3.0, the number of options contained within SSL_OP_ALL has been reduced:&lt;br /&gt;
&lt;br /&gt;
* SSL_OP_CRYPTOPRO_TLSEXT_BUG&lt;br /&gt;
* SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS&lt;br /&gt;
* SSL_OP_TLSEXT_PADDING&lt;br /&gt;
* SSL_OP_SAFARI_ECDHE_ECDSA_BUG&lt;br /&gt;
&lt;br /&gt;
=== OpenSSL 1.1.1 ===&lt;br /&gt;
In OpenSSL 1.1.1, the SSL_OP_ALL option changed value to include only those bits that have a defintion. This means that 1.1.0 and 1.1.1, although ABI compatible, have different values for default enabled options. The result of this is that several option bits marked by ** cannot be re-assigned until 3.0.0.&lt;br /&gt;
&lt;br /&gt;
=== OpenSSL 1.1.0 ===&lt;br /&gt;
As of 1.1.0, these options are enabled by default via SSL_OP_ALL:&lt;br /&gt;
&lt;br /&gt;
* SSL_OP_CRYPTOPRO_TLSEXT_BUG&lt;br /&gt;
* SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS&lt;br /&gt;
* SSL_OP_LEGACY_SERVER_CONNECT&lt;br /&gt;
* SSL_OP_TLSEXT_PADDING&lt;br /&gt;
* SSL_OP_SAFARI_ECDHE_ECDSA_BUG&lt;br /&gt;
&lt;br /&gt;
=== Enabled by Default ===&lt;br /&gt;
&lt;br /&gt;
The following options are enabled by default (1.1.1 and 3.0), but are not included in SSL_OP_ALL:&lt;br /&gt;
&lt;br /&gt;
* SSL_OP_NO_COMPRESSION&lt;br /&gt;
* SSL_OP_ENABLE_MIDDLEBOX_COMPAT&lt;br /&gt;
&lt;br /&gt;
They can be disabled via '''SSL_clear_options()'''. A future version of OpenSSL may&lt;br /&gt;
not set these by default.&lt;br /&gt;
&lt;br /&gt;
== Protocol Version Options ==&lt;br /&gt;
&lt;br /&gt;
The following options control the protocols enabled on an SSL or SSL_CTX:&lt;br /&gt;
&lt;br /&gt;
* SSL_OP_NO_SSLv2&lt;br /&gt;
* SSL_OP_NO_SSLv3&lt;br /&gt;
* SSL_OP_NO_TLSv1&lt;br /&gt;
* SSL_OP_NO_TLSv1_1 &lt;br /&gt;
* SSL_OP_NO_TLSv1_2&lt;br /&gt;
* SSL_OP_NO_TLSv1_3&lt;br /&gt;
* SSL_OP_NO_DTLSv1&lt;br /&gt;
* SSL_OP_NO_DTLSv1_2&lt;br /&gt;
&lt;br /&gt;
These options are deprecated as of 1.1.0, use '''SSL_CTX_set_min_proto_version()''' and '''SSL_CTX_set_max_proto_version()''' instead.&lt;br /&gt;
&lt;br /&gt;
== Available Bits ==&lt;br /&gt;
&lt;br /&gt;
The the change from '''unsigned long''' to '''uin64_t''', many more options are now available.&lt;br /&gt;
&lt;br /&gt;
As of this writing (just before 3.0 is released), the following bits are available (i.e. unused):&lt;br /&gt;
&lt;br /&gt;
* SSL_OP_BIT(5)&lt;br /&gt;
* SSL_OP_BIT(32) through SSL_OP_BIT(63)&lt;br /&gt;
&lt;br /&gt;
Bit values greater than 63 are not permitted and may cause undefined behavior.&lt;br /&gt;
&lt;br /&gt;
== Historical Options and Notes ==&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. In 1.0.1 this option had a value of 0x00000010, but that was taken over by SSL_OP_TLS_PADDING in 1.0.2; this option's value was changed to 0 in 1.0.2. It was included in SSL_OP_ALL. The defintion was removed from 1.1.0.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_MSIE_SSLV2_RSA_PADDING ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility.  In 1.0.1, this option had a value of 0x00000040; this option's value was changed to 0 in 1.0.2.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_SINGLE_DH_USE ===&lt;br /&gt;
&lt;br /&gt;
If set, always create a new key when using tmp_dh parameters. As of 1.0.2f single-DH key use is always on, and this option does nothing, and is retained for compatibility.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_EPHEMERAL_RSA ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. In 1.0.1, this option had a value of 0x00200000; this option's value was changed to 0 in 1.0.2. This option always used the tmp_rsa key when doing RSA operations, even when this violated protocol specs.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_PRIORITIZE_CHACHA ===&lt;br /&gt;
&lt;br /&gt;
This option has no effect if SSL_OP_CIPHER_SERVER_PREFERENCE is not enabled.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_TLS_ROLLBACK_BUG ===&lt;br /&gt;
&lt;br /&gt;
This option had a value of 0x00000400 in 0.9.6. If set, a server will allow a client to issue a SSLv3.0 version number as latest version supported in the premaster secret, even when TLSv1.0 (version 3.1) was announced in the client hello. Normally this is forbidden to prevent version rollback attacks.&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.6 and was automatically enabled via SSL_OP_ALL. In 0.9.7, it was removed from SSL_OP_ALL and must be explicitly set.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_PKCS1_CHECK_1 ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. Prior to 1.0.1, this option had a value of 0x08000000. The option would deliberately change the ciphertext, this is a check for the PKCS#1 attack. &lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_PKCS1_CHECK_2 ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. Prior to 1.0.1, this option had a value of 0x10000000. The option would deliberately change the ciphertext, this is a check for the PKCS#1 attack.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_CIPHER_SERVER_PREFERENCE ===&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.7.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION ===&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.7.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS ===&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.6e to disable the fragment insertion that was added in 0.9.6d (where it was always enabled). Versions up to 0.9.6c do not include the countermeasure.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION ===&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.8m.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_LEGACY_SERVER_CONNECT ===&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.8m.&lt;/div&gt;</summary>
		<author><name>Tmshort</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=List_of_SSL_OP_Flags&amp;diff=2831</id>
		<title>List of SSL OP Flags</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=List_of_SSL_OP_Flags&amp;diff=2831"/>
		<updated>2019-07-29T14:21:20Z</updated>

		<summary type="html">&lt;p&gt;Tmshort: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page lists all the SSL_OP flags available in OpenSSL. These values are passed to the SSL_CTX_set_options(), SSL_CTX_clear_options() functions and returned by the SSL_CTX_get_options() function (and corresponding SSL-equivalents).&lt;br /&gt;
&lt;br /&gt;
Options with a value of 0 have no effect.&lt;br /&gt;
&lt;br /&gt;
== Table of Options ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option Name !! SSL_OP_ALL !! Description !! 1.0.2 value !! 1.1.0 value !! 1.1.1 value&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_MICROSOFT_SESS_ID_BUG || Yes || No effect. || 0x00000001 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_CHALLENGE_BUG || Yes || No effect. || 0x00000002 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_LEGACY_SERVER_CONNECT || Yes || Allow legacy insecure renegotiation between OpenSSL and unpatched servers  only. || 0x00000004 || 0x00000004 || 0x00000004U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG || Yes || No effect. || 0x00000008 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG || || No effect. || 0 || Not defined || Not defined&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLSEXT_PADDING || Yes || Adds a padding extension to ensure the ClientHello size is never between 256 and 511 bytes in length. || 0x00000010 || 0x00000010 || 0x00000010U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER || Yes || Accept large records (18K+) from Microsoft servers/clients. || 0x00000020 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SAFARI_ECDHE_ECDSA_BUG || Yes || Don't prefer ECDHE-ECDSA ciphers when the client appears to be Safari on OS X. OS X 10.8...10.8.3 has broken support for ECDHE-ECDSA ciphers. || 0x00000040 || 0x00000040 || 0x00000040U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_MSIE_SSLV2_RSA_PADDING || || No effect.|| 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SSLEAY_080_CLIENT_DH_BUG || Yes || Allow invalid client DH parameters during client key exchange. || 0x00000080 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLS_D5_BUG || Yes || Allow invalid RSA encrypted length from client during client key exchange. || 0x00000100 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLS_BLOCK_PADDING_BUG || Yes || Compensate for incorrect padding. || 0x00000200 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALLOW_NO_DHE_KEX || || In TLSv1.3 allow a non-(EC)DHE-based key exchange mode || Not defined || Not defined || 0x00000400U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS || Yes || Disables a counter-measure against a SSL 3.0/TLS 1.0 protocol vulnerability affecting CBC ciphers, which cannot be handled by some broken (Microsoft) SSL implementations.|| 0x00000800 || 0x00000800 || 0x00000800U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_QUERY_MTU || || DTLS PMTU option. || 0x00001000 || 0x00001000 || 0x00001000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_COOKIE_EXCHANGE || || Turn on Cookie Exchange (on relevant for servers).  || 0x00002000 || 0x00002000 || 0x00002000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TICKET || || Don't use RFC4507 ticket extension.  || 0x00004000 || 0x00004000 || 0x00004000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CISCO_ANYCONNECT || || Use Cisco's &amp;quot;speshul&amp;quot; version of DTLS_BAD_VER (as client). || 0x00008000 || 0x00008000 || 0x00008000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION || || As server, disallow session resumption on renegotiation. || 0x00010000 || 0x00010000 || 0x00010000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_COMPRESSION || || Don't use compression even if supported. || 0x00020000 || 0x00020000 || 0x00020000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION || || Permit unsafe legacy renegotiation.  || 0x00040000 || 0x00040000 || 0x00040000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SINGLE_ECDH_USE || || If set, always create a new key when using tmp_ecdh parameters.  || 0x00080000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_ENCRYPT_THEN MAC || || Disable encrypt-then-MAC  || Not defined || Not defined || 0x00080000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SINGLE_DH_USE || || If set, always create a new key when using tmp_dh parameters (In recent 1.0.2, does nothing: retained for compatibility). || 0x00100000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_EPHEMERAL_RSA || || No effect. || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_PRIORITIZE_CHACHA || || Prioritize ChaCha20Poly1305 on servers when client does. || Not defined || Not defined || 0x00200000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CIPHER_SERVER_PREFERENCE || || Set on servers to choose the cipher according to the server's preferences || 0x00400000 || 0x00400000 || 0x00400000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLS_ROLLBACK_BUG || || Allow a client to specify SSLv3.0 in the pre-master secret even if TLSv1.0 was specified in the ClientHello. || 0x00800000 || 0x00800000 || 0x00800000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SSLv2 || || Disable SSLv2. || 0x01000000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SSLv3 || || Disable SSLv3. || 0x02000000 || 0x02000000 || 0x02000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1/SSL_OP_NO_DTLSv1 || || Disable TLSv1/DTLSv1. || 0x04000000 || 0x04000000 || 0x04000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1_2/SSL_OP_NO_DTLSv1_2 || || Disable TLSv1.2/DTLSv1.2.  || 0x08000000 || 0x08000000 || 0x08000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1_1 || || Disable TLSv1.1. || 0x10000000 || 0x10000000 || 0x10000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_CA_DN_BUG ||  || || 0x20000000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1_3 || || Diable TLSv1.3 || Not defined || Not defined || 0x20000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG ||  || || 0x40000000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_RENEGOTIATION || || Disallow all renegotiation  || Not defined || Not defined || 0x40000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CRYPTOPRO_TLSEXT_BUG || Yes || Adds a ServerHello TLSEXT when using a GOST cipher. || 0x80000000 || 0x80000000 || 0x80000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_PKCS1_CHECK_1 || || No effect. || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_PKCS1_CHECK_2 || || No effect. || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SSL_MASK || || SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|SSL_OP_NO_TLSv1|SSL_OP_NO_TLSv1_1|SSL_OP_NO_TLSv1_2|SSL_OP_NO_TLSv1_3  || 0x1F000000 || 0x1E000000 || 0x3E000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALL || Yes || Default set of options. || 0x80000BFF || 0x80000BFF || 0x80000854U&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== SSL_OP_ALL ==&lt;br /&gt;
&lt;br /&gt;
In OpenSSL 1.1.1, the SSL_OP_ALL option changed value. This means that 1.1.0 and 1.1.1, although ABI compatible, have different values for default enabled options. The result of this is that several option bits marked by ** cannot be re-assigned until 3.0.0.&lt;br /&gt;
&lt;br /&gt;
As of 1.1.0, these options are enabled by default via SSL_OP_ALL:&lt;br /&gt;
&lt;br /&gt;
* SSL_OP_CRYPTOPRO_TLSEXT_BUG&lt;br /&gt;
* SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS&lt;br /&gt;
* SSL_OP_LEGACY_SERVER_CONNECT&lt;br /&gt;
* SSL_OP_TLSEXT_PADDING&lt;br /&gt;
* SSL_OP_SAFARI_ECDHE_ECDSA_BUG)&lt;br /&gt;
&lt;br /&gt;
== Protocol Version Options ==&lt;br /&gt;
&lt;br /&gt;
The following options control the protocols enabled on an SSL or SSL_CTX:&lt;br /&gt;
&lt;br /&gt;
* SSL_OP_NO_SSLv2&lt;br /&gt;
* SSL_OP_NO_SSLv3&lt;br /&gt;
* SSL_OP_NO_TLSv1&lt;br /&gt;
* SSL_OP_NO_TLSv1_1 &lt;br /&gt;
* SSL_OP_NO_TLSv1_2&lt;br /&gt;
* SSL_OP_NO_TLSv1_3&lt;br /&gt;
* SSL_OP_NO_DTLSv1&lt;br /&gt;
* SSL_OP_NO_DTLSv1_2&lt;br /&gt;
&lt;br /&gt;
These options are deprecated as of 1.1.0, use SSL_CTX_set_min_proto_version() and SSL_CTX_set_max_proto_version() instead.&lt;br /&gt;
&lt;br /&gt;
== Historical Options and Notes ==&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. In 1.0.1 this option had a value of 0x00000010, but that was taken over by SSL_OP_TLS_PADDING in 1.0.2; this option's value was changed to 0 in 1.0.2. It was included in SSL_OP_ALL. The defintion was removed from 1.1.0.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_MSIE_SSLV2_RSA_PADDING ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility.  In 1.0.1, this option had a value of 0x00000040; this option's value was changed to 0 in 1.0.2.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_SINGLE_DH_USE ===&lt;br /&gt;
&lt;br /&gt;
If set, always create a new key when using tmp_dh parameters. As of 1.0.2f single-DH key use is always on, and this option does nothing, and is retained for compatibility.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_EPHEMERAL_RSA ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. In 1.0.1, this option had a value of 0x00200000; this option's value was changed to 0 in 1.0.2. This option always used the tmp_rsa key when doing RSA operations, even when this violated protocol specs.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_PRIORITIZE_CHACHA ===&lt;br /&gt;
&lt;br /&gt;
This option has no effect if SSL_OP_CIPHER_SERVER_PREFERENCE is not enabled.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_TLS_ROLLBACK_BUG ===&lt;br /&gt;
&lt;br /&gt;
This option had a value of 0x00000400 in 0.9.6. If set, a server will allow a client to issue a SSLv3.0 version number as latest version supported in the premaster secret, even when TLSv1.0 (version 3.1) was announced in the client hello. Normally this is forbidden to prevent version rollback attacks.&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.6 and was automatically enabled via SSL_OP_ALL. In 0.9.7, it was removed from SSL_OP_ALL and must be explicitly set.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_PKCS1_CHECK_1 ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. Prior to 1.0.1, this option had a value of 0x08000000. The option would deliberately change the ciphertext, this is a check for the PKCS#1 attack. &lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_PKCS1_CHECK_2 ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. Prior to 1.0.1, this option had a value of 0x10000000. The option would deliberately change the ciphertext, this is a check for the PKCS#1 attack.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_CIPHER_SERVER_PREFERENCE ===&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.7.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION ===&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.7.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS ===&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.6e to disable the fragment insertion that was added in 0.9.6d (where it was always enabled). Versions up to 0.9.6c do not include the countermeasure.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION ===&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.8m.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_LEGACY_SERVER_CONNECT ===&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.8m.&lt;/div&gt;</summary>
		<author><name>Tmshort</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=List_of_SSL_OP_Flags&amp;diff=2622</id>
		<title>List of SSL OP Flags</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=List_of_SSL_OP_Flags&amp;diff=2622"/>
		<updated>2017-12-12T18:34:56Z</updated>

		<summary type="html">&lt;p&gt;Tmshort: /* Historical Options and Notes */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page lists all the SSL_OP flags available in OpenSSL. These values are passed to the SSL_CTX_set_options(), SSL_CTX_clear_options() functions and returned by the SSL_CTX_get_options() function (and corresponding SSL-equivalents).&lt;br /&gt;
&lt;br /&gt;
Options with a value of 0 have no effect.&lt;br /&gt;
&lt;br /&gt;
== Table of Options ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option Name !! SSL_OP_ALL !! Description !! 1.0.2 value !! 1.1.0 value !! 1.1.1 value&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_MICROSOFT_SESS_ID_BUG || Yes || No effect. || 0x00000001 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_CHALLENGE_BUG || Yes || No effect. || 0x00000002 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_LEGACY_SERVER_CONNECT || Yes || Allow legacy insecure renegotiation between OpenSSL and unpatched servers  only. || 0x00000004 || 0x00000004 || 0x00000004U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG || Yes || No effect. || 0x00000008 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG || || No effect. || 0 || Not defined || Not defined&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLSEXT_PADDING || Yes || Adds a padding extension to ensure the ClientHello size is never between 256 and 511 bytes in length. || 0x00000010 || 0x00000010 || 0x00000010U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER || Yes || Accept large records (18K+) from Microsoft servers/clients. || 0x00000020 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SAFARI_ECDHE_ECDSA_BUG || Yes || Don't prefer ECDHE-ECDSA ciphers when the client appears to be Safari on OS X. OS X 10.8...10.8.3 has broken support for ECDHE-ECDSA ciphers. || 0x00000040 || 0x00000040 || 0x00000040U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_MSIE_SSLV2_RSA_PADDING || || No effect.|| 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SSLEAY_080_CLIENT_DH_BUG || Yes || Allow invalid client DH parameters during client key exchange. || 0x00000080 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLS_D5_BUG || Yes || Allow invalid RSA encrypted length from client during client key exchange. || 0x00000100 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLS_BLOCK_PADDING_BUG || Yes || Compensate for incorrect padding. || 0x00000200 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALLOW_NO_DHE_KEX || || In TLSv1.3 allow a non-(EC)DHE-based key exchange mode || Not defined || Not defined || 0x00000400U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS || Yes || Disables a counter-measure against a SSL 3.0/TLS 1.0 protocol vulnerability affecting CBC ciphers, which cannot be handled by some broken (Microsoft) SSL implementations.|| 0x00000800 || 0x00000800 || 0x00000800U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_QUERY_MTU || || DTLS PMTU option. || 0x00001000 || 0x00001000 || 0x00001000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_COOKIE_EXCHANGE || || Turn on Cookie Exchange (on relevant for servers).  || 0x00002000 || 0x00002000 || 0x00002000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TICKET || || Don't use RFC4507 ticket extension.  || 0x00004000 || 0x00004000 || 0x00004000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CISCO_ANYCONNECT || || Use Cisco's &amp;quot;speshul&amp;quot; version of DTLS_BAD_VER (as client). || 0x00008000 || 0x00008000 || 0x00008000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION || || As server, disallow session resumption on renegotiation. || 0x00010000 || 0x00010000 || 0x00010000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_COMPRESSION || || Don't use compression even if supported. || 0x00020000 || 0x00020000 || 0x00020000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION || || Permit unsafe legacy renegotiation.  || 0x00040000 || 0x00040000 || 0x00040000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SINGLE_ECDH_USE || || If set, always create a new key when using tmp_ecdh parameters.  || 0x00080000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_ENCRYPT_THEN MAC || || Disable encrypt-then-MAC  || Not defined || Not defined || 0x00080000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SINGLE_DH_USE || || If set, always create a new key when using tmp_dh parameters (In recent 1.0.2, does nothing: retained for compatibility). || 0x00100000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_EPHEMERAL_RSA || || No effect. || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_PRIORITIZE_CHACHA || || Prioritize ChaCha20Poly1305 on servers when client does. || Not defined || Not defined || 0x00200000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CIPHER_SERVER_PREFERENCE || || Set on servers to choose the cipher according to the server's preferences || 0x00400000 || 0x00400000 || 0x00400000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLS_ROLLBACK_BUG || || Allow a client to specify SSLv3.0 in the pre-master secret even if TLSv1.0 was specified in the ClientHello. || 0x00800000 || 0x00800000 || 0x00800000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SSLv2 || || Disable SSLv2. || 0x01000000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SSLv3 || || Disable SSLv3. || 0x02000000 || 0x02000000 || 0x02000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1/SSL_OP_NO_DTLSv1 || || Disable TLSv1/DTLSv1. || 0x04000000 || 0x04000000 || 0x04000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1_2/SSL_OP_NO_DTLSv1_2 || || Disable TLSv1.2/DTLSv1.2.  || 0x08000000 || 0x08000000 || 0x08000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1_1 || || Disable TLSv1.1. || 0x10000000 || 0x10000000 || 0x10000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_CA_DN_BUG ||  || || 0x20000000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1_3 || || Diable TLSv1.3 || Not defined || Not defined || 0x20000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG ||  || || 0x40000000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_RENEGOTIATION || || Disallow all renegotiation  || Not defined || Not defined || 0x40000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CRYPTOPRO_TLSEXT_BUG || Yes || Adds a ServerHello TLSEXT when using a GOST cipher. || 0x80000000 || 0x80000000 || 0x80000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_PKCS1_CHECK_1 || || No effect. || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_PKCS1_CHECK_2 || || No effect. || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SSL_MASK || || SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|SSL_OP_NO_TLSv1|SSL_OP_NO_TLSv1_1|SSL_OP_NO_TLSv1_2|SSL_OP_NO_TLSv1_3  || 0x1F000000 || 0x1E000000 || 0x3E000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALL || Yes || Default set of options. || 0x80000BFF || 0x80000BFF || 0x80000854U&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== SSL_OP_ALL ==&lt;br /&gt;
&lt;br /&gt;
In OpenSSL 1.1.1, the SSL_OP_ALL option changed value. This means that 1.1.0 and 1.1.1, although ABI compatible, have different values for default enabled options. The result of this is that several option bits marked by ** cannot be re-assigned until 1.2.0.&lt;br /&gt;
&lt;br /&gt;
As of 1.1.0, these options are enabled by default via SSL_OP_ALL:&lt;br /&gt;
&lt;br /&gt;
* SSL_OP_CRYPTOPRO_TLSEXT_BUG&lt;br /&gt;
* SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS&lt;br /&gt;
* SSL_OP_LEGACY_SERVER_CONNECT&lt;br /&gt;
* SSL_OP_TLSEXT_PADDING&lt;br /&gt;
* SSL_OP_SAFARI_ECDHE_ECDSA_BUG)&lt;br /&gt;
&lt;br /&gt;
== Protocol Version Options ==&lt;br /&gt;
&lt;br /&gt;
The following options control the protocols enabled on an SSL or SSL_CTX:&lt;br /&gt;
&lt;br /&gt;
* SSL_OP_NO_SSLv2&lt;br /&gt;
* SSL_OP_NO_SSLv3&lt;br /&gt;
* SSL_OP_NO_TLSv1&lt;br /&gt;
* SSL_OP_NO_TLSv1_1 &lt;br /&gt;
* SSL_OP_NO_TLSv1_2&lt;br /&gt;
* SSL_OP_NO_TLSv1_3&lt;br /&gt;
* SSL_OP_NO_DTLSv1&lt;br /&gt;
* SSL_OP_NO_DTLSv1_2&lt;br /&gt;
&lt;br /&gt;
These options are deprecated as of 1.1.0, use SSL_CTX_set_min_proto_version() and SSL_CTX_set_max_proto_version() instead.&lt;br /&gt;
&lt;br /&gt;
== Historical Options and Notes ==&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. In 1.0.1 this option had a value of 0x00000010, but that was taken over by SSL_OP_TLS_PADDING in 1.0.2; this option's value was changed to 0 in 1.0.2. It was included in SSL_OP_ALL. The defintion was removed from 1.1.0.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_MSIE_SSLV2_RSA_PADDING ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility.  In 1.0.1, this option had a value of 0x00000040; this option's value was changed to 0 in 1.0.2.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_SINGLE_DH_USE ===&lt;br /&gt;
&lt;br /&gt;
If set, always create a new key when using tmp_dh parameters. As of 1.0.2f single-DH key use is always on, and this option does nothing, and is retained for compatibility.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_EPHEMERAL_RSA ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. In 1.0.1, this option had a value of 0x00200000; this option's value was changed to 0 in 1.0.2. This option always used the tmp_rsa key when doing RSA operations, even when this violated protocol specs.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_PRIORITIZE_CHACHA ===&lt;br /&gt;
&lt;br /&gt;
This option has no effect if SSL_OP_CIPHER_SERVER_PREFERENCE is not enabled.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_TLS_ROLLBACK_BUG ===&lt;br /&gt;
&lt;br /&gt;
This option had a value of 0x00000400 in 0.9.6. If set, a server will allow a client to issue a SSLv3.0 version number as latest version supported in the premaster secret, even when TLSv1.0 (version 3.1) was announced in the client hello. Normally this is forbidden to prevent version rollback attacks.&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.6 and was automatically enabled via SSL_OP_ALL. In 0.9.7, it was removed from SSL_OP_ALL and must be explicitly set.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_PKCS1_CHECK_1 ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. Prior to 1.0.1, this option had a value of 0x08000000. The option would deliberately change the ciphertext, this is a check for the PKCS#1 attack. &lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_PKCS1_CHECK_2 ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. Prior to 1.0.1, this option had a value of 0x10000000. The option would deliberately change the ciphertext, this is a check for the PKCS#1 attack.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_CIPHER_SERVER_PREFERENCE ===&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.7.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION ===&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.7.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS ===&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.6e to disable the fragment insertion that was added in 0.9.6d (where it was always enabled). Versions up to 0.9.6c do not include the countermeasure.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION ===&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.8m.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_LEGACY_SERVER_CONNECT ===&lt;br /&gt;
&lt;br /&gt;
Added in 0.9.8m.&lt;/div&gt;</summary>
		<author><name>Tmshort</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=Main_Page&amp;diff=2621</id>
		<title>Main Page</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=Main_Page&amp;diff=2621"/>
		<updated>2017-12-12T18:28:46Z</updated>

		<summary type="html">&lt;p&gt;Tmshort: /* Usage and Programming */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;This is the OpenSSL wiki.  The main site is https://www.openssl.org . If this is your first visit or to get an account please see the [[Welcome]] page. Your participation and [[Contributions]] are valued.&lt;br /&gt;
&lt;br /&gt;
This wiki is intended as a place for collecting, organizing, and refining useful information about OpenSSL that is currently strewn among multiple locations and formats.&lt;br /&gt;
&lt;br /&gt;
== OpenSSL Quick Links ==&lt;br /&gt;
&lt;br /&gt;
  &amp;lt;TABLE border=0&amp;gt;&lt;br /&gt;
     &amp;lt;TR&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[OpenSSL Overview]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Compilation and Installation]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Internals]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Mailing Lists]] &amp;lt;/TD&amp;gt;&lt;br /&gt;
      &amp;lt;/TR&amp;gt;&lt;br /&gt;
      &amp;lt;TR&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[libcrypto API]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[libssl API]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Examples]] &amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Documentation Index|Index of all API functions]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
      &amp;lt;/TR&amp;gt;&lt;br /&gt;
      &amp;lt;TR&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[License]] &amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Command Line Utilities]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Related Links]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Binaries]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
      &amp;lt;/TR&amp;gt;&lt;br /&gt;
      &amp;lt;TR&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[SSL and TLS Protocols]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[1.1 API Changes]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[FIPS modules]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
        &amp;lt;TD&amp;gt;[[Image:HTAB.png]][[Image:HTAB.png]]&amp;lt;/TD&amp;gt;&lt;br /&gt;
      &amp;lt;/TR&amp;gt;&lt;br /&gt;
  &amp;lt;/TABLE&amp;gt;&lt;br /&gt;
&lt;br /&gt;
== Administrivia ==&lt;br /&gt;
Site guidelines, legal and admininstrative issues.&lt;br /&gt;
:* [[Basic rules]], [[Commercial Product Disclaimer]], [[Contributions]], [[Copyright]], [[License]]&lt;br /&gt;
:* Using This Wiki&lt;br /&gt;
:: [http://meta.wikimedia.org/wiki/Help:Contents Wiki User's Guide], [http://www.mediawiki.org/wiki/Manual:Configuration_settings Configuration settings list], [http://www.mediawiki.org/wiki/Manual:FAQ MediaWiki FAQ], [https://lists.wikimedia.org/mailman/listinfo/mediawiki-announce MediaWiki Mailing List]&lt;br /&gt;
&lt;br /&gt;
== Reference ==&lt;br /&gt;
This section contains the automagically generated man pages from the OpenSSL git repository, and similar &amp;quot;man&amp;quot; style reference documentation. The man pages are automatically imported from the OpenSSL git repository and local wiki modifications are submitted as patches.&lt;br /&gt;
:* OpenSSL Manual Pages&lt;br /&gt;
::* [[Manual:Openssl(1)]], [[Manual:Ssl(3)]], [[Manual:Crypto(3)]], [[Documentation Index]]&lt;br /&gt;
:: If you wish to edit any of the Manual page content please refer to the [[Guidelines for Manual Page Authors]] page.&lt;br /&gt;
:* [[API]], [[Libcrypto API]], [[Libssl API]]&lt;br /&gt;
:* [[FIPS mode()]], [[FIPS_mode_set()]]&lt;br /&gt;
&lt;br /&gt;
== Usage and Programming ==&lt;br /&gt;
This section has discussions of practical issues in using OpenSSL&lt;br /&gt;
:* Building from Source&lt;br /&gt;
:: Where to find it, the different versions, how to build and install it.&lt;br /&gt;
:* [[OpenSSL Overview]]&lt;br /&gt;
:* [[Versioning]]&lt;br /&gt;
:* [[Compilation and Installation]]&lt;br /&gt;
:* [[EVP]]&lt;br /&gt;
:: Programming techniques and example code&lt;br /&gt;
:: Use of EVP is preferred for most applications and circumstances&lt;br /&gt;
::* [[EVP Asymmetric Encryption and Decryption of an Envelope]]&lt;br /&gt;
::* [[EVP Authenticated Encryption and Decryption]]&lt;br /&gt;
::* [[EVP Symmetric Encryption and Decryption]]&lt;br /&gt;
::* [[EVP Key and Parameter Generation]]&lt;br /&gt;
::* [[EVP Key Agreement]]&lt;br /&gt;
::* [[EVP Message Digests]]&lt;br /&gt;
::* [[EVP Key Derivation]]&lt;br /&gt;
::* [[EVP Signing and Verifying|EVP Signing and Verifying (including MAC codes)]]&lt;br /&gt;
:* [[STACK API]]&lt;br /&gt;
:* [[List of SSL OP Flags]]&lt;br /&gt;
:* Low Level APIs&lt;br /&gt;
::[[Creating an OpenSSL Engine to use indigenous ECDH ECDSA and HASH Algorithms]]&lt;br /&gt;
:: More specialized non-EVP usage&lt;br /&gt;
::* [[Diffie-Hellman parameters]]&lt;br /&gt;
:* [[FIPS Mode]]&lt;br /&gt;
:* [[Simple TLS Server]]&lt;br /&gt;
&lt;br /&gt;
== Concepts and Theory ==&lt;br /&gt;
Discussions of basic cryptographic theory and concepts&lt;br /&gt;
Discussions of common operational issues&lt;br /&gt;
:* [[Base64]]&lt;br /&gt;
:* [http://wiki.openssl.org/index.php/Category:FIPS_140 FIPS 140-2]&lt;br /&gt;
:* [[Random Numbers]]&lt;br /&gt;
:* [[Diffie Hellman]]&lt;br /&gt;
:* [[Elliptic Curve Diffie Hellman]]&lt;br /&gt;
:* [[Elliptic Curve Cryptography]]&lt;br /&gt;
&lt;br /&gt;
== Security Advisories ==&lt;br /&gt;
:* [https://www.openssl.org/policies/secpolicy.html OpenSSL Security Policy]&lt;br /&gt;
:* [https://www.openssl.org/news/vulnerabilities.html OpenSSL Vulnerabilities List]&lt;br /&gt;
:* [[Security_Advisories|Security Advisories Additional Information]]&lt;br /&gt;
&lt;br /&gt;
== Feedback and Contributions ==&lt;br /&gt;
:* [https://www.openssl.org/support/faq.html#BUILD18 How to notify us of suspected security vulnerabilities]&lt;br /&gt;
:* [https://www.openssl.org/community/#bugs How to report bugs, other than for suspected vulnerabilities]&lt;br /&gt;
:* [[Contributions|General background on source and documentation contributions - '''must read''']]&lt;br /&gt;
:* Contributing code fixes, other than for suspected vulnerabilities, as well as fixes and other improvements to manual pages:&lt;br /&gt;
::* If you are unsure as to whether a feature will be useful for the general OpenSSL community please discuss it on the [https://www.openssl.org/support/community.html openssl-dev mailing list] first.  Someone may be already working on the same thing or there may be a good reason as to why that feature isn't implemented.&lt;br /&gt;
::* Follow the [[Use of Git#Use_of_Git_with_OpenSSL_source_tree|instructions for accessing source code]] in the appropriate branches. Note that manual pages and the FAQ are maintained with the source code.&lt;br /&gt;
::* Submit a pull request for each separate fix (also documented [[Use of Git#Use_of_Git_with_OpenSSL_source_tree|there]])&lt;br /&gt;
::* Submit a bug report (see second bullet, above) and reference the pull request. Or you can attach the patch to the ticket.&lt;br /&gt;
:* Contributing fixes and other improvements to the web site&lt;br /&gt;
::* Follow the [[Use_of_Git#Use_of_Git_with_the_OpenSSL_web_site|instructions for accessing web site sources]]&lt;br /&gt;
::* Create a patch (also documented [[Use_of_Git#Use_of_Git_with_the_OpenSSL_web_site|there]])&lt;br /&gt;
::* Submit a bug report and add the patch as an attachment&lt;br /&gt;
:* [[Developing For OpenSSL]]&lt;br /&gt;
:* [[KnownPatches|Known patches not part of OpenSSL]]&lt;br /&gt;
:* [[Welcome|Contributing to this wiki]]&lt;br /&gt;
&lt;br /&gt;
== Internals and Development ==&lt;br /&gt;
This section is for internal details of primary interest to OpenSSL maintainers and power users&lt;br /&gt;
:* [[Code reformatting]]&lt;br /&gt;
&lt;br /&gt;
:* [[Internals]]&lt;br /&gt;
:* [[Code Quality]]&lt;br /&gt;
:* [[Static and Dynamic Analysis]]&lt;br /&gt;
:* [[OCB|OCB Licence details]]&lt;br /&gt;
:* [[Defect and Feature Review Process]]&lt;br /&gt;
:* [[Unit Testing]] (includes other automated testing information)&lt;br /&gt;
:* [[How to Integrate a Symmetric Cipher]]&lt;/div&gt;</summary>
		<author><name>Tmshort</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=List_of_SSL_OP_Flags&amp;diff=2620</id>
		<title>List of SSL OP Flags</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=List_of_SSL_OP_Flags&amp;diff=2620"/>
		<updated>2017-12-12T16:17:52Z</updated>

		<summary type="html">&lt;p&gt;Tmshort: /* Table of Options */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page lists all the SSL_OP flags available in OpenSSL. These values are passed to the SSL_CTX_set_options(), SSL_CTX_clear_options() functions and returned by the SSL_CTX_get_options() function (and corresponding SSL-equivalents).&lt;br /&gt;
&lt;br /&gt;
Options with a value of 0 have no effect.&lt;br /&gt;
&lt;br /&gt;
== Table of Options ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option Name !! SSL_OP_ALL !! Description !! 1.0.2 value !! 1.1.0 value !! 1.1.1 value&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_MICROSOFT_SESS_ID_BUG || Yes || No effect. || 0x00000001 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_CHALLENGE_BUG || Yes || No effect. || 0x00000002 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_LEGACY_SERVER_CONNECT || Yes || Allow legacy insecure renegotiation between OpenSSL and unpatched servers  only. || 0x00000004 || 0x00000004 || 0x00000004U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG || Yes || No effect. || 0x00000008 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG || || No effect. || 0 || Not defined || Not defined&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLSEXT_PADDING || Yes || Adds a padding extension to ensure the ClientHello size is never between 256 and 511 bytes in length. || 0x00000010 || 0x00000010 || 0x00000010U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER || Yes || Accept large records (18K+) from Microsoft servers/clients. || 0x00000020 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SAFARI_ECDHE_ECDSA_BUG || Yes || Don't prefer ECDHE-ECDSA ciphers when the client appears to be Safari on OS X. OS X 10.8...10.8.3 has broken support for ECDHE-ECDSA ciphers. || 0x00000040 || 0x00000040 || 0x00000040U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_MSIE_SSLV2_RSA_PADDING || || No effect.|| 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SSLEAY_080_CLIENT_DH_BUG || Yes || Allow invalid client DH parameters during client key exchange. || 0x00000080 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLS_D5_BUG || Yes || Allow invalid RSA encrypted length from client during client key exchange. || 0x00000100 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLS_BLOCK_PADDING_BUG || Yes || Compensate for incorrect padding. || 0x00000200 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALLOW_NO_DHE_KEX || || In TLSv1.3 allow a non-(EC)DHE-based key exchange mode || Not defined || Not defined || 0x00000400U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS || Yes || Disables a counter-measure against a SSL 3.0/TLS 1.0 protocol vulnerability affecting CBC ciphers, which cannot be handled by some broken (Microsoft) SSL implementations.|| 0x00000800 || 0x00000800 || 0x00000800U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_QUERY_MTU || || DTLS PMTU option. || 0x00001000 || 0x00001000 || 0x00001000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_COOKIE_EXCHANGE || || Turn on Cookie Exchange (on relevant for servers).  || 0x00002000 || 0x00002000 || 0x00002000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TICKET || || Don't use RFC4507 ticket extension.  || 0x00004000 || 0x00004000 || 0x00004000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CISCO_ANYCONNECT || || Use Cisco's &amp;quot;speshul&amp;quot; version of DTLS_BAD_VER (as client). || 0x00008000 || 0x00008000 || 0x00008000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION || || As server, disallow session resumption on renegotiation. || 0x00010000 || 0x00010000 || 0x00010000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_COMPRESSION || || Don't use compression even if supported. || 0x00020000 || 0x00020000 || 0x00020000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION || || Permit unsafe legacy renegotiation.  || 0x00040000 || 0x00040000 || 0x00040000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SINGLE_ECDH_USE || || If set, always create a new key when using tmp_ecdh parameters.  || 0x00080000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_ENCRYPT_THEN MAC || || Disable encrypt-then-MAC  || Not defined || Not defined || 0x00080000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SINGLE_DH_USE || || If set, always create a new key when using tmp_dh parameters (In recent 1.0.2, does nothing: retained for compatibility). || 0x00100000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_EPHEMERAL_RSA || || No effect. || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_PRIORITIZE_CHACHA || || Prioritize ChaCha20Poly1305 on servers when client does. || Not defined || Not defined || 0x00200000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CIPHER_SERVER_PREFERENCE || || Set on servers to choose the cipher according to the server's preferences || 0x00400000 || 0x00400000 || 0x00400000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLS_ROLLBACK_BUG || || Allow a client to specify SSLv3.0 in the pre-master secret even if TLSv1.0 was specified in the ClientHello. || 0x00800000 || 0x00800000 || 0x00800000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SSLv2 || || Disable SSLv2. || 0x01000000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SSLv3 || || Disable SSLv3. || 0x02000000 || 0x02000000 || 0x02000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1/SSL_OP_NO_DTLSv1 || || Disable TLSv1/DTLSv1. || 0x04000000 || 0x04000000 || 0x04000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1_2/SSL_OP_NO_DTLSv1_2 || || Disable TLSv1.2/DTLSv1.2.  || 0x08000000 || 0x08000000 || 0x08000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1_1 || || Disable TLSv1.1. || 0x10000000 || 0x10000000 || 0x10000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_CA_DN_BUG ||  || || 0x20000000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1_3 || || Diable TLSv1.3 || Not defined || Not defined || 0x20000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG ||  || || 0x40000000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_RENEGOTIATION || || Disallow all renegotiation  || Not defined || Not defined || 0x40000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CRYPTOPRO_TLSEXT_BUG || Yes || Adds a ServerHello TLSEXT when using a GOST cipher. || 0x80000000 || 0x80000000 || 0x80000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_PKCS1_CHECK_1 || || No effect. || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_PKCS1_CHECK_2 || || No effect. || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SSL_MASK || || SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|SSL_OP_NO_TLSv1|SSL_OP_NO_TLSv1_1|SSL_OP_NO_TLSv1_2|SSL_OP_NO_TLSv1_3  || 0x1F000000 || 0x1E000000 || 0x3E000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALL || Yes || Default set of options. || 0x80000BFF || 0x80000BFF || 0x80000854U&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== SSL_OP_ALL ==&lt;br /&gt;
&lt;br /&gt;
In OpenSSL 1.1.1, the SSL_OP_ALL option changed value. This means that 1.1.0 and 1.1.1, although ABI compatible, have different values for default enabled options. The result of this is that several option bits marked by ** cannot be re-assigned until 1.2.0.&lt;br /&gt;
&lt;br /&gt;
As of 1.1.0, these options are enabled by default via SSL_OP_ALL:&lt;br /&gt;
&lt;br /&gt;
* SSL_OP_CRYPTOPRO_TLSEXT_BUG&lt;br /&gt;
* SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS&lt;br /&gt;
* SSL_OP_LEGACY_SERVER_CONNECT&lt;br /&gt;
* SSL_OP_TLSEXT_PADDING&lt;br /&gt;
* SSL_OP_SAFARI_ECDHE_ECDSA_BUG)&lt;br /&gt;
&lt;br /&gt;
== Protocol Version Options ==&lt;br /&gt;
&lt;br /&gt;
The following options control the protocols enabled on an SSL or SSL_CTX:&lt;br /&gt;
&lt;br /&gt;
* SSL_OP_NO_SSLv2&lt;br /&gt;
* SSL_OP_NO_SSLv3&lt;br /&gt;
* SSL_OP_NO_TLSv1&lt;br /&gt;
* SSL_OP_NO_TLSv1_1 &lt;br /&gt;
* SSL_OP_NO_TLSv1_2&lt;br /&gt;
* SSL_OP_NO_TLSv1_3&lt;br /&gt;
* SSL_OP_NO_DTLSv1&lt;br /&gt;
* SSL_OP_NO_DTLSv1_2&lt;br /&gt;
&lt;br /&gt;
These options are deprecated as of 1.1.0, use SSL_CTX_set_min_proto_version() and SSL_CTX_set_max_proto_version() instead.&lt;br /&gt;
&lt;br /&gt;
== Historical Options and Notes ==&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. In 1.0.1 this option had a value of 0x00000010, but that was taken over by SSL_OP_TLS_PADDING in 1.0.2; this option's value was changed to 0 in 1.0.2. It was included in SSL_OP_ALL. The defintion was removed from 1.1.0.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_MSIE_SSLV2_RSA_PADDING ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility.  In 1.0.1, this option had a value of 0x00000040; this option's value was changed to 0 in 1.0.2.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_SINGLE_DH_USE ===&lt;br /&gt;
&lt;br /&gt;
If set, always create a new key when using tmp_dh parameters. As of 1.0.2f single-DH key use is always on, and this option does nothing, and is retained for compatibility.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_EPHEMERAL_RSA ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. In 1.0.1, this option had a value of 0x00200000; this option's value was changed to 0 in 1.0.2. This option always used the tmp_rsa key when doing RSA operations, even when this violated protocol specs.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_PRIORITIZE_CHACHA ===&lt;br /&gt;
&lt;br /&gt;
This option has no effect if SSL_OP_CIPHER_SERVER_PREFERENCE is not enabled.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_TLS_ROLLBACK_BUG ===&lt;br /&gt;
&lt;br /&gt;
This option had a value of 0x00000400 in 0.9.6. If set, a server will allow a client to issue a SSLv3.0 version number as latest version supported in the premaster secret, even when TLSv1.0 (version 3.1) was announced in the client hello. Normally this is forbidden to prevent version rollback attacks.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_PKCS1_CHECK_1 ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. Prior to 1.0.1, this option had a value of 0x08000000. The option would deliberately change the ciphertext, this is a check for the PKCS#1 attack. &lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_PKCS1_CHECK_2 ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. Prior to 1.0.1, this option had a value of 0x10000000. The option would deliberately change the ciphertext, this is a check for the PKCS#1 attack.&lt;/div&gt;</summary>
		<author><name>Tmshort</name></author>
	</entry>
	<entry>
		<id>https://wiki.openssl.org/index.php?title=List_of_SSL_OP_Flags&amp;diff=2619</id>
		<title>List of SSL OP Flags</title>
		<link rel="alternate" type="text/html" href="https://wiki.openssl.org/index.php?title=List_of_SSL_OP_Flags&amp;diff=2619"/>
		<updated>2017-12-12T16:15:45Z</updated>

		<summary type="html">&lt;p&gt;Tmshort: Initial page&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;br /&gt;
This page lists all the SSL_OP flags available in OpenSSL. These values are passed to the SSL_CTX_set_options(), SSL_CTX_clear_options() functions and returned by the SSL_CTX_get_options() function (and corresponding SSL-equivalents).&lt;br /&gt;
&lt;br /&gt;
Options with a value of 0 have no effect.&lt;br /&gt;
&lt;br /&gt;
== Table of Options ==&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable&amp;quot;&lt;br /&gt;
! Option Name !! SSL_OP_ALL !! Description !! 1.0.2 value !! 1.1.0 value !! 1.1.1 value&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_MICROSOFT_SESS_ID_BUG || Yes || No effect. || 0x00000001 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_CHALLENGE_BUG || Yes || No effect. || 0x00000002 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_LEGACY_SERVER_CONNECT || Yes || Allow legacy insecure renegotiation between OpenSSL and unpatched servers  only. || 0x00000004 || 0x00000004 || 0x00000004U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG || Yes || No effect. || 0x00000008 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG || || No effect. || 0 || Not defined || Not defined&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLSEXT_PADDING || Yes || Adds a padding extension to ensure the ClientHello size is never between 256 and 511 bytes in length. || 0x00000010 || 0x00000010 || 0x00000010U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER || Yes || Accept large records (18K+) from Microsoft servers/clients. || 0x00000020 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SAFARI_ECDHE_ECDSA_BUG || Yes || Don't prefer ECDHE-ECDSA ciphers when the client appears to be Safari on OS X. OS X 10.8...10.8.3 has broken support for ECDHE-ECDSA ciphers. || 0x00000040 || 0x00000040 || 0x00000040U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_MSIE_SSLV2_RSA_PADDING || || No effect.|| 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SSLEAY_080_CLIENT_DH_BUG || Yes || Allow invalid client DH parameters during client key exchange. || 0x00000080 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLS_D5_BUG || Yes || Allow invalid RSA encrypted length from client during client key exchange. || 0x00000100 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLS_BLOCK_PADDING_BUG || Yes || Compensate for incorrect padding. || 0x00000200 || 0 || 0**&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALLOW_NO_DHE_KEX || || In TLSv1.3 allow a non-(EC)DHE-based key exchange mode || Not defined || Not defined || 0x00000400U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS || Yes || Disables a counter-measure against a SSL 3.0/TLS 1.0 protocol vulnerability affecting CBC ciphers, which cannot be handled by some broken (Microsoft) SSL implementations.|| 0x00000800 || 0x00000800 || 0x00000800U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_QUERY_MTU || || DTLS PMTU option. || 0x00001000 || 0x00001000 || 0x00001000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_COOKIE_EXCHANGE || || Turn on Cookie Exchange (on relevant for servers).  || 0x00002000 || 0x00002000 || 0x00002000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TICKET || || Don't use RFC4507 ticket extension.  || 0x00004000 || 0x00004000 || 0x00004000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CISCO_ANYCONNECT || || Use Cisco's &amp;quot;speshul&amp;quot; version of DTLS_BAD_VER (as client). || 0x00008000 || 0x00008000 || 0x00008000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION || || As server, disallow session resumption on renegotiation. || 0x00010000 || 0x00010000 || 0x00010000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_COMPRESSION || || Don't use compression even if supported. || 0x00020000 || 0x00020000 || 0x00020000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION || || Permit unsafe legacy renegotiation.  || 0x00040000 || 0x00040000 || 0x00040000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SINGLE_ECDH_USE || || If set, always create a new key when using tmp_ecdh parameters.  || 0x00080000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_ENCRYPT_THEN MAC || || Disable encrypt-then-MAC  || Not defined || Not defined || 0x00080000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_SINGLE_DH_USE || || If set, always create a new key when using tmp_dh parameters (In recent 1.0.2, does nothing: retained for compatibility). || 0x00100000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_EPHEMERAL_RSA || || No effect. || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_PRIORITIZE_CHACHA || || Prioritize ChaCha20Poly1305 on servers when client does. || Not defined || Not defined || 0x00200000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CIPHER_SERVER_PREFERENCE || || Set on servers to choose the cipher according to the server's preferences || 0x00400000 || 0x00400000 || 0x00400000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_TLS_ROLLBACK_BUG || || Allow a client to specify SSLv3.0 in the pre-master secret even if TLSv1.0 was specified in the ClientHello. || 0x00800000 || 0x00800000 || 0x00800000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SSLv2 || || Disable SSLv2. || 0x01000000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SSLv3 || || Disable SSLv3. || 0x02000000 || 0x02000000 || 0x02000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1/SSL_OP_NO_DTLSv1 || || Disable TLSv1/DTLSv1. || 0x04000000 || 0x04000000 || 0x04000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1_2/SSL_OP_NO_DTLSv1_2 || || Disable TLSv1.2/DTLSv1.2.  || 0x08000000 || 0x08000000 || 0x08000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1_1 || || Disable TLSv1.1. || 0x10000000 || 0x10000000 || 0x10000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_CA_DN_BUG ||  || || 0x20000000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_TLSv1_3 || || Diable TLSv1.3 || Not defined || Not defined || 0x20000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG ||  || || 0x40000000 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_RENEGOTIATION || || Disallow all renegotiation  || Not defined || Not defined || 0x40000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_CRYPTOPRO_TLSEXT_BUG || Yes || Adds a ServerHello TLSEXT when using a GOST cipher. || 0x80000000 || 0x80000000 || 0x80000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_PKCS1_CHECK_1 || || No effect. || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_PKCS1_CHECK_2 || || No effect. || 0 || 0 || 0&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_NO_SSL_MASK || || SSL_OP_NO_SSLv2|SSL_OP_NO_SSLv3|SSL_OP_NO_TLSv1|SSL_OP_NO_TLSv1_1|SSL_OP_NO_TLSv1_2  || 0x1F000000 || 0x1E000000 || 0x3E000000U&lt;br /&gt;
|-&lt;br /&gt;
| SSL_OP_ALL || Yes || Default set of options. || 0x80000BFF || 0x80000BFF || 0x80000854U&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== SSL_OP_ALL ==&lt;br /&gt;
&lt;br /&gt;
In OpenSSL 1.1.1, the SSL_OP_ALL option changed value. This means that 1.1.0 and 1.1.1, although ABI compatible, have different values for default enabled options. The result of this is that several option bits marked by ** cannot be re-assigned until 1.2.0.&lt;br /&gt;
&lt;br /&gt;
As of 1.1.0, these options are enabled by default via SSL_OP_ALL:&lt;br /&gt;
&lt;br /&gt;
* SSL_OP_CRYPTOPRO_TLSEXT_BUG&lt;br /&gt;
* SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS&lt;br /&gt;
* SSL_OP_LEGACY_SERVER_CONNECT&lt;br /&gt;
* SSL_OP_TLSEXT_PADDING&lt;br /&gt;
* SSL_OP_SAFARI_ECDHE_ECDSA_BUG)&lt;br /&gt;
&lt;br /&gt;
== Protocol Version Options ==&lt;br /&gt;
&lt;br /&gt;
The following options control the protocols enabled on an SSL or SSL_CTX:&lt;br /&gt;
&lt;br /&gt;
* SSL_OP_NO_SSLv2&lt;br /&gt;
* SSL_OP_NO_SSLv3&lt;br /&gt;
* SSL_OP_NO_TLSv1&lt;br /&gt;
* SSL_OP_NO_TLSv1_1 &lt;br /&gt;
* SSL_OP_NO_TLSv1_2&lt;br /&gt;
* SSL_OP_NO_TLSv1_3&lt;br /&gt;
* SSL_OP_NO_DTLSv1&lt;br /&gt;
* SSL_OP_NO_DTLSv1_2&lt;br /&gt;
&lt;br /&gt;
These options are deprecated as of 1.1.0, use SSL_CTX_set_min_proto_version() and SSL_CTX_set_max_proto_version() instead.&lt;br /&gt;
&lt;br /&gt;
== Historical Options and Notes ==&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_SSLREF2_REUSE_CERT_TYPE_BUG ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. In 1.0.1 this option had a value of 0x00000010, but that was taken over by SSL_OP_TLS_PADDING in 1.0.2; this option's value was changed to 0 in 1.0.2. It was included in SSL_OP_ALL. The defintion was removed from 1.1.0.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_MSIE_SSLV2_RSA_PADDING ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility.  In 1.0.1, this option had a value of 0x00000040; this option's value was changed to 0 in 1.0.2.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_SINGLE_DH_USE ===&lt;br /&gt;
&lt;br /&gt;
If set, always create a new key when using tmp_dh parameters. As of 1.0.2f single-DH key use is always on, and this option does nothing, and is retained for compatibility.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_EPHEMERAL_RSA ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. In 1.0.1, this option had a value of 0x00200000; this option's value was changed to 0 in 1.0.2. This option always used the tmp_rsa key when doing RSA operations, even when this violated protocol specs.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_PRIORITIZE_CHACHA ===&lt;br /&gt;
&lt;br /&gt;
This option has no effect if SSL_OP_CIPHER_SERVER_PREFERENCE is not enabled.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_TLS_ROLLBACK_BUG ===&lt;br /&gt;
&lt;br /&gt;
This option had a value of 0x00000400 in 0.9.6. If set, a server will allow a client to issue a SSLv3.0 version number as latest version supported in the premaster secret, even when TLSv1.0 (version 3.1) was announced in the client hello. Normally this is forbidden to prevent version rollback attacks.&lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_PKCS1_CHECK_1 ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. Prior to 1.0.1, this option had a value of 0x08000000. The option would deliberately change the ciphertext, this is a check for the PKCS#1 attack. &lt;br /&gt;
&lt;br /&gt;
=== SSL_OP_PKCS1_CHECK_2 ===&lt;br /&gt;
&lt;br /&gt;
This option does nothing, but was retained for compatibility. Prior to 1.0.1, this option had a value of 0x10000000. The option would deliberately change the ciphertext, this is a check for the PKCS#1 attack.&lt;/div&gt;</summary>
		<author><name>Tmshort</name></author>
	</entry>
</feed>