Advanced SSL Options

Top  Previous  Next

 

The following table displays all OpenSSL-specific options available when connecting to an FTPS or HTTPS site. These options do not normally need to be explicitly enabled and are for advance use only. The options below can be enabled either by specifying the desired options from the FTPLOGON command using the /ssloptions= argument, or by checking the appropriate checkbox in the managed site's "Advanced SSL" tab. By default, the SSL_OP_ALL option is enabled for all sites.

 

 

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.