Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved


Chapter 18 Using the SSL Protocol : Specifying Cipher Suites

Specifying Cipher Suites
On the EMS server, specify cipher suites using the ssl_server_ciphers configuration parameter in tibemsd.conf. For more information about server configuration files, see Chapter 7, Using the Configuration Files.
For clients connecting with a connection factory, specify cipher suites using the ssl_ciphers connection factory parameter. For more information, see Configuring SSL in EMS Clients.
Syntax for Cipher Suites
EMS uses OpenSSL for SSL support. Therefore, the cipher suite names can be specified as the OpenSSL name for the cipher suite.
When specifying cipher suites, the usual way to specify more than one cipher suite is to separate each suite name with a colon (:) character. Alternatively, you can use spaces and commas to separate names.
Java Client Syntax
The syntax for specifying the list of cipher suites is different for Java clients than for any other location where cipher suites can be specified. For Java clients, you specify a qualifier (for example, + to add the suite) followed by the cipher suite name. Cipher suite names are case-sensitive. Table 85 describes the qualifiers you can use when specifying cipher suite names in a ConnectionFactory for Java clients.
 
This example specifies cipher suites in the ssl_ciphers connection factory parameter in a Java client:
-ALL:+AES128-SHA:+AES256-SHA:<DES-CBC3-SHA
This example specifies cipher suites using Java names:
-ALL:+TLS_RSA_WITH_AES_128_CBC_SHA:+TLS_RSA_WITH_AES_256_CBC_SHA:<SSL_RSA_WITH_3DES_EDE_CBC_SHA
Syntax for All Other Cipher Suite Specifications
For any cipher suite list that is not specified in a connection factory of a Java client, use the OpenSSL syntax. In particular, C clients and the ssl_server_ciphers configuration parameter require OpenSSL syntax.
In OpenSSL syntax, specifying a cipher suite name adds that cipher suite to the list. Each cipher suite name can be preceded by a qualifier. Cipher suite names are case-sensitive. Table 86 describes the qualifiers available using OpenSSL syntax.
 
If the / does not prefix the cipher list, then EMS prefixes the cipher list with the OpenSSL cipher string DEFAULT.
This example specifies cipher suites in the ssl_server_ciphers configuration parameter.
ssl_server_ciphers = -ALL:AES128-SHA:AES256-SHA:DES-CBC3-SHA
This example illustrates disabling AES128-SHA, then adding all other ciphers:
ssl_server_ciphers = !AES128-SHA:ALL
Default Cipher List
The EMS server and C client library use DEFAULT as their default cipher list. For details on the cipher suites corresponding to DEFAULT for a given version of OpenSSL, please refer to the OpenSSL documentation.
Supported Cipher Suites
The EMS server and C client library support a subset of the cipher suites that OpenSSL supports. For a complete list, see the output of the help ciphers command in the administration tool.
Supported Cipher Suites for Java Clients
Java clients support only the cipher suites listed in Table 87. For convenience, the table lists both the Java name and the OpenSSL name for each cipher suite. For Java clients, restrictions apply to some of the newer cipher suites. Using these may require adjustments to some of the following: JVM version, JVM vendor, JCE unlimited strength jurisdiction policy files, the java.security properties file, and X509 certificate digital signature algorithms. For details, contact TIBCO Support.
 
Supported Cipher Suites for .NET Clients
In general, the .NET client library supports the cipher suites that .NET supports. Refer to your MSDN documentation or contact Microsoft support for complete details on supported ciphers on specific Windows platforms.

Copyright © TIBCO Software Inc. All Rights Reserved
Copyright © TIBCO Software Inc. All Rights Reserved