SSLConfigPtr (PMQSCO)

SSLConfigPtr is an input field. Itsinitial value is the null pointer in those programming languages that support pointers, and an all-null byte string otherwise.

Use SSLConfigPtr and SSLConfigOffset only when the application issuing the MQCONNX call is running as a WebSphere® MQ MQI client and the channel protocol is TCP/IP. If the application is not running as a WebSphere MQ client, or the channel protocol is not TCP/IP, SSLConfigPtr and SSLConfigOffset are ignored.

By specifying SSLConfigPtr or SSLConfigOffset, plus either ClientConnPtr or ClientConnOffset, the application can control the use of SSL for the client connection. When the SSL information is specified in this way, the environment variables MQSSLKEYR and MQSSLCRYP are ignored; any SSL-related information in the client channel definition table (CCDT) is also ignored.

The SSL information can be specified only on:
  • The first MQCONNX call of the client process, or
  • A subsequent MQCONNX call when all previous SSL/TLS connections to the queue manager have been concluded using MQDISC.

These are the only states in which the process-wide SSL environment can be initialized. If an MQCONNX call is issued specifying SSL information when the SSL environment already exists, the SSL information on the call is ignored and the connection is made using the existing SSL environment; the call returns completion code MQCC_WARNING and reason code MQRC_SSL_ALREADY_INITIALIZED in this case.

You can provide the MQSCO structure in the same way as the MQCD structure, either by specifying an address in SSLConfigPtr, or by specifying an offset in SSLConfigOffset; see the description of ClientConnPtr for details of how to do this. However, you can use no more than one of SSLConfigPtr and SSLConfigOffset; the call fails with reason code MQRC_SSL_CONFIG_ERROR. if both are nonzero.

Once the MQCONNX call has completed, the MQSCO structure is not referenced again.

This field is ignored if Version is less than MQCNO_VERSION_4.

Note: On platforms where the programming language does not support the pointer data type, this field is declared as a byte string of the appropriate length.