To enable an XMS C or C++ application to make secure connections to a WebSphere MQ queue manager, the relevant properties must be defined in the ConnectionFactory object.
The protocol used in the encryption negotiation can be either Secure Sockets Layer (SSL) or Transport Layer Security (TLS), depending on which CipherSuite you specify in the ConnectionFactory object.
If you use the WebSphere MQ Version 7.0.0.1 and above client libraries and connect to a WebSphere MQ Version 7 queue manager, then you can create multiple connections to same queue manager in XMS application. However connection to different queue manager is not permitted. If you attempt you get the MQRC_SSL_ALREADY_INITIALIZED error.
If you use the WebSphere MQ Version 6 and above client libraries, then you can create a new SSL connection only if you close any previous SSL connection first. Multiple concurrent SSL connections from the same process to the same or different queue managers are not permitted. If you attempt more than one request, you get the warning MQRC_SSL_ALREADY_INITIALIZED, which might mean that some requested parameters for the SSL connection were ignored.
ConnectionFactory properties for connections via SSL to a WebSphere MQ manager, with a brief description, are shown in the following table:
Name of property | Description |
---|---|
XMSC_WMQ_SSL_CERT_STORES | The locations of the servers that hold the certificate revocation lists (CRLs) to be used on an SSL connection to a queue manager. |
XMSC_WMQ_SSL_CIPHER_SPEC | The name of the cipher spec to be used on a secure connection to a queue manager. |
XMSC_WMQ_SSL_CIPHER_SUITE | The name of the CipherSuite to be used on an SSL or TLS connection to a queue manager. The protocol used in negotiating the secure connection depends on the specified CipherSuite. |
XMSC_WMQ_SSL_CRYPTO_HW | Configuration details for the cryptographic hardware connected to the client system. |
XMSC_WMQ_SSL_FIPS_REQUIRED | The value of this property determines whether an application can or cannot use non-FIPS compliant cipher suites. If this property is set to true, only FIPS algorithms are used for the client-server connection. |
XMSC_WMQ_SSL_KEY_REPOSITORY | The location of the key database file in which keys and certificates are stored. |
XMSC_WMQ_SSL_KEY_RESETCOUNT | The KeyResetCount represents the total number of unencrypted bytes sent and received within an SSL conversation before the secret key is renegotiated. |
XMSC_WMQ_SSL_PEER_NAME | The peer name to be used on an SSL connection to a queue manager. |