Specifying CipherSpecs
You specify the CipherSpec in the SSLCIPH parameter using either the DEFINE CHANNEL MQSC command or the ALTER CHANNEL MQSC command.
You can choose from the CipherSpecs listed in Table 1:
Table 1. CipherSpecs that can be used with WebSphere MQ SSL support
CipherSpec name Hash algorithm Encryption algorithm Encryption bits NULL_MD51 MD5 None 0 NULL_SHA1 SHA None 0 RC4_MD5_EXPORT1 MD5 RC4 40 RC4_MD5_US2 MD5 RC4 128 RC4_SHA_US2 SHA RC4 128 RC2_MD5_EXPORT1 MD5 RC2 40 DES_SHA_EXPORT1 SHA DES 56 RC4_56_SHA_EXPORT10243,4,5 SHA RC4 56 DES_SHA_EXPORT10243,4,5,6 SHA DES 56 TRIPLE_DES_SHA_US4 SHA 3DES 168 TLS_RSA_WITH_AES_128_CBC_SHA7 SHA AES 128 TLS_RSA_WITH_AES_256_CBC_SHA7 SHA AES 256 AES_SHA_US8 SHA AES 128 Notes:
- On OS/400, available when either AC2 or AC3 are installed
- On OS/400, available only when AC3 is installed
- Not available for z/OS
- Not available for OS/400
- Specifies a 1024-bit handshake key size
- Not available for Windows
- Available for AIX, HP-UX, and Linux for Intel platforms only
- Available for OS/400, AC3 only
When you request a personal certificate, you specify a key size for the public and private key pair. The key size that is used during the SSL handshake can depend on the size stored in the certificate and on the CipherSpec:
- On UNIX systems and z/OS, when a CipherSpec name includes _EXPORT, the maximum handshake key size is 512 bits. If either of the certificates exchanged during the SSL handshake has a key size greater than 512 bits, a temporary 512-bit key is generated for use during the handshake.
- On UNIX systems, when a CipherSpec name includes _EXPORT1024, the handshake key size is 1024 bits. Refer to note (CS1NOTE1024) in Table 1.
- Otherwise the handshake key size is the size stored in the certificate.
Obtaining information about CipherSpecs using WebSphere MQ Explorer
When you are working on a Windows system, use the following procedure to obtain information about the CipherSpecs in Table 1:
- Open WebSphere MQ Explorer and expand the Queue Managers folder.
- Ensure that you have started the queue manager.
- Select the queue manager you want to work with and click Advanced -> Channels.
- Right-click the channel you want to work with and select Properties.
- Select the SSL property page.
- Select from the list the CipherSpec you want to work with. A description appears in the window below the list.
Alternatives for specifying CipherSpecs
- Note:
- This section does not apply to UNIX systems, because the CipherSpecs are provided with the WebSphere MQ product, so new CipherSpecs do not become available after shipment.
For those platforms where the operating system provides the SSL support, the system might support new CipherSpecs that are not included in Table 1. You can specify a new CipherSpec with the SSLCIPH parameter, but the value you supply depends on the platform. In all cases the specification must correspond to an SSL CipherSpec that is both valid and supported by the version of SSL the system is running.
- OS/400
- A two-character string representing a hexadecimal value.
For more information about the permitted values, refer to the iSeries Information Center at http://publib.boulder.ibm.com/html/as400/infocenter.html
You can use either the CHGMQMCHL or the CRTMQMCHL command to specify the value, for example:
CRTMQMCHL CHLNAME('channnel name') SSLCIPH('hexadecimal value')You can also use the ALTER QMGR MQSC command to set the SSLCIPH parameter.
- Windows
- A string of three values, separated by commas, and in the order:
- A character string representing a hexadecimal value that defines the encryption algorithm
- A number that specifies the strength of the encryption algorithm
- A character string representing a hexadecimal value that defines the hash function
For example, 0x6801,128,0x8004 would specify the RC4_SHA_US CipherSpec.
You can derive the numeric values for the encryption algorithm and the hash function from the ALG_ID data types provided by Microsoft. These data types represent algorithm identifiers and are described in the Microsoft "Platform SDK: Security" documentation.
- z/OS
- A two-character string representing a hexadecimal value. The hexadecimal codes correspond to the SSL protocol values defined at http://home.netscape.com/eng/ssl3/ssl-toc.html
For more information, refer to the z/OS System SSL Programming, SC24-5901 book.
Considerations for WebSphere MQ clusters
With WebSphere MQ clusters try to use the CipherSpec names in Table 1. If you use an alternative specification, be aware that the specification might not be valid on other platforms. For more information, refer to the WebSphere MQ Queue Manager Clusters book.
Specifying a CipherSpec for a WebSphere MQ client
You have three options for specifying a CipherSpec for a WebSphere MQ client:
- Using a channel definition table
- Using the SSL configuration options structure, MQSCO, on an MQCONNX call
- Using the Active Directory (on Windows systems with Active Directory support)
For more information, refer to the WebSphere MQ Clients book and the WebSphere MQ Application Programming Reference.
Specifying a CipherSuite with the Java client and JMS
Refer to WebSphere MQ Using Java for information about specifying a CipherSuite with the Java client and JMS.
WebSphere is a trademark of the IBM Corporation in the United States, other countries, or both.
IBM is a trademark of the IBM Corporation in the United States, other countries, or both.