SSL_OP_MICROSOFT_SESS_ID_BUG
|
As of OpenSSL 1.0.0 this option has no effect.
|
SSL_OP_NETSCAPE_CHALLENGE_BUG
|
As of OpenSSL 1.0.0 this option has no effect.
|
SSL_OP_LEGACY_SERVER_CONNECT
|
Allow legacy insecure renegotiation between OpenSSL and unpatched servers only: this option is currently set by default. See the SECURE RENEGOTIATION section for more details.
|
SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG
|
As of OpenSSL 0.9.8q and 1.0.0c, this option has no effect.
|
SSL_OP_TLSEXT_PADDING
|
Adds a padding extension to ensure the ClientHello size is never between 256 and 511 bytes in length. This is needed as a workaround for some implementations.
|
SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER
|
Increase SSLv3 record buffer size by 16 KB.
|
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.
|
SSL_OP_SSLEAY_080_CLIENT_DH_BUG
|
Permits missing length header in ClientDiffieHellmanPublic value.
|
SSL_OP_TLS_D5_BUG
|
Undocumented.
|
SSL_OP_TLS_BLOCK_PADDING_BUG
|
Undocumented.
|
SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS
|
Disables a countermeasure against a SSL 3.0/TLS 1.0 protocol vulnerability affecting CBC ciphers, which cannot be handled by some broken SSL implementations. This option has no effect for connections using other ciphers.
|
SSL_OP_ALL
|
Automatically enables the following options:
SSL_OP_MICROSOFT_SESS_ID_BUG
SSL_OP_NETSCAPE_CHALLENGE_BUG
SSL_OP_LEGACY_SERVER_CONNECT
SSL_OP_NETSCAPE_REUSE_CIPHER_CHANGE_BUG
SSL_OP_TLSEXT_PADDING
SSL_OP_MICROSOFT_BIG_SSLV3_BUFFER
SSL_OP_SAFARI_ECDHE_ECDSA_BUG
SSL_OP_SSLEAY_080_CLIENT_DH_BUG
SSL_OP_TLS_D5_BUG
SSL_OP_TLS_BLOCK_PADDING_BUG
SSL_OP_DONT_INSERT_EMPTY_FRAGMENTS
SSL_OP_CRYPTOPRO_TLSEXT_BUG
|
SSL_OP_NO_QUERY_MTU
|
Undocumented.
|
SSL_OP_COOKIE_EXCHANGE
|
Turn on Cookie Exchange
|
SSL_OP_NO_TICKET
|
Normally clients and servers will, where possible, transparently make use of RFC4507bis tickets for stateless session resumption. If this option is set this functionality is disabled and tickets will not be used by clients or servers.
|
SSL_OP_CISCO_ANYCONNECT
|
Use Cisco's special version of DTLS_BAD_VER (as client) -- workaround to ensure DTLS compatibility with Cisco AnyConnect VPN
|
SSL_OP_NO_SESSION_RESUMPTION_ON_RENEGOTIATION
|
When performing renegotiation as a server, always start a new session (i.e., session resumption requests are only accepted in the initial handshake). This option is not needed for clients.
|
SSL_OP_NO_COMPRESSION
|
Disables support for SSL/TLS compression.
|
SSL_OP_ALLOW_UNSAFE_LEGACY_RENEGOTIATION
|
Allow legacy insecure renegotiation between OpenSSL and unpatched clients or servers. See the SECURE RENEGOTIATION section for more details.
|
SSL_OP_SINGLE_ECDH_USE
|
Always create a new ECDH keypair for each connection.
|
SSL_OP_SINGLE_DH_USE
|
Always create a new key when using temporary/ephemeral DH parameters (see SSL_CTX_set_tmp_dh_callback(3)). This option must be used to prevent small subgroup attacks, when the DH parameters were not generated using "strong" primes (e.g. when using DSA-parameters, see dhparam(1)). If "strong" primes were used, it is not strictly necessary to generate a new DH key during each handshake but it is also recommended. SSL_OP_SINGLE_DH_USE should therefore be enabled whenever temporary/ephemeral DH parameters are used.
|
SSL_OP_CIPHER_SERVER_PREFERENCE
|
When choosing a cipher, use the server's preferences instead of the client preferences. When not set, the SSL server will always follow the clients preferences. When set, the SSLv3/TLSv1 server will choose following its own preferences. Because of the different protocol, for SSLv2 the server will send its list of preferences to the client and the client chooses.
|
SSL_OP_TLS_ROLLBACK_BUG
|
Disable version rollback attack detection. During the client key exchange, the client must send the same information about acceptable SSL/TLS protocol levels as during the first hello. Some clients violate this rule by adapting to the server's answer. (Example: the client sends a SSLv2 hello and accepts up to SSLv3.1=TLSv1, the server only understands up to SSLv3. In this case the client must still use the same SSLv3.1=TLSv1 announcement. Some clients step down to SSLv3 with respect to the server's answer and violate the version rollback protection.)
|
SSL_OP_NO_SSLv2
|
Do not use the SSLv2 protocol.
|
SSL_OP_NO_SSLv3
|
Do not use the SSLv3 protocol.
|
SSL_OP_NO_TLSv1
|
Do not use the TLSv1 protocol.
|
SSL_OP_NO_TLSv1_1
|
Do not use the TLSv1.1 protocol.
|
SSL_OP_NO_TLSv1_2
|
Do not use the TLSv1.2 protocol.
|
SSL_OP_NO_DTLSv1
|
Do not use the DTLSv1 (Datagram TLS v1) protocol.
|
SSL_OP_NO_DTLSv1_2
|
Do not use the DTLSv1.2 (Datagram TLS v1.2) protocol.
|
SSL_OP_NETSCAPE_CA_DN_BUG
|
Assume alternative encoding system used in CA distinguished names when prompted for client cert.
|
SSL_OP_NETSCAPE_DEMO_CIPHER_CHANGE_BUG
|
Undocumented.
|
SSL_OP_CRYPTOPRO_TLSEXT_BUG
|
Make server add server-hello extension from early version of cryptopro draft, when GOST ciphersuite is negotiated. Required for interoperability with CryptoPro CSP 3.x.
|