SSL Failures

SSL failures on IBM MQ stop encrypted channels before messages flow. Operations sees RETRY loops, listeners accepting TCP then closing, or client errors referencing GSKit and TLS. Unlike authority problems that return 2035 after connect, TLS problems usually block the session earlier—though the symptom from the business view is the same: messages not moving. This tutorial is a troubleshooting guide for SSL failures: how TLS fits on message channels and SVRCONN, reading AMQ SSL messages, cipher and certificate checks, SSLCAUTH and mutual TLS, key repository verification with runmqakm, coordinating with PKI teams on renewal, and when to use GSKit trace versus AMQERR alone.

TLS on MQ Channels

When SSLCIPH is set on a channel definition, GSKit performs TLS after TCP connect and before MQ channel protocol exchange. The queue manager uses SSLKEYR (key repository) and CERTLABL (personal certificate label). The partner must trust your CA and present a certificate if SSLCAUTH is REQUIRED. Channel authentication (CHLAUTH) may map certificate DN to MCAUSER after TLS succeeds. Failure at any TLS step prevents RUNNING—messages remain on XMITQ for sender channels.

SSL channel attributes to verify on both ends
AttributePurposeIf wrong
SSLCIPHCipher specificationHandshake failure, no shared cipher
SSLCAUTHOptional vs required peer certREQUIRED without client cert fails
CERTLABLWhich personal cert to presentWrong or missing server identity
SSLKEYRKey repository pathCannot load keys or trust store

Failure Categories

Cipher and protocol

One side offers only TLS 1.3 ciphers; the other allows legacy suites. SSLCIPH strings must be compatible. Lab test: temporarily align both sides to a known-good cipher from IBM documentation, confirm connect, then tighten to production policy.

Certificate trust

Partner cert signed by a CA not in your kdb, or expired intermediate. Import missing CA certificates as trusted, renew expired certs, verify runmqakm -cert -list shows valid dates. Corporate PKI rotations often break integrations when only the leaf cert is updated but not the chain on the peer.

Identity and labels

Multiple certs in kdb—wrong CERTLABL presents the wrong DN to CHLAUTH SSLPEER rules. After renewal, label name may change; update ALTER CHANNEL and QMGR CERTLABL consistently.

Hostname and SAN

Clients verifying hostname against certificate CN/SAN may fail when connecting via load balancer DNS name. Align CONNAME, certificate SAN, and verification policy per enterprise standards.

Triage Checklist

  1. DISPLAY CHSTATUS — LASTCHLERR, SSLCIPH on instance.
  2. AMQERR grep SSL, AMQ9638, GSKit at failure time.
  3. runmqakm -cert -list on both QMs; check Not After dates.
  4. Confirm SSLCAUTH OPTIONAL vs REQUIRED matches design.
  5. Compare CHLAUTH SSLPEER to actual peer DN if bind reaches auth.
  6. Short GSKit trace on lab reproduction if still unclear.
shell
1
2
3
4
DISPLAY CHANNEL('PARIS.TO.LONDON') SSLCIPH SSLCAUTH DISPLAY CHSTATUS('PARIS.TO.LONDON') LASTCHLERR SSLCIPH runmqakm -cert -list -db /var/mqm/qmgrs/QM1/ssl/key.kdb -stashed * Partner must trust your CA; you must trust theirs

SSL Failures vs Channel Retry Loops

Expired certificate Tuesday 00:00 UTC often causes synchronized retry loops on all TLS channels. Certificate monitoring should fire before expiry. If loops already run, renew cert, refresh kdb, restart or reset channels, verify RUNNING before closing the incident. Do not only increase LONGTMR.

SVRCONN and Client SSL

Application clients use JSSE, Schannel, or MQ client GSKit with parallel requirements: trust store, cipher suites, and sometimes client cert for mutual TLS. A channel may work server-to-server while Java client fails if trust store lacks corporate CA. Collect client SSL debug and server AMQERR together.

Explainer: Sealed Envelope Key

TLS is the lock on the envelope carrying MQ data. SSL failure means the partners cannot agree on the lock type or one key is expired—so the post office refuses to accept the envelope even though the address (CONNAME) is correct.

Explain Like I'm Five: SSL Failures

You and your friend have secret decoder rings that must match. If your ring is broken (expired cert) or the wrong shape (cipher), you cannot talk, even if you are shouting the right channel name.

Practice Exercises

Exercise 1

Lab: set mismatched SSLCIPH on RCVR only; capture AMQERR and LASTCHLERR.

Exercise 2

Build certificate renewal checklist: kdb import, CERTLABL, channel reset, verify RUNNING.

Exercise 3

List three AMQ message patterns you will grep during SSL incidents.

Frequently Asked Questions

Frequently Asked Questions

Test Your Knowledge

Test Your Knowledge

1. SSL failure often leaves channel in:

  • RETRY or not RUNNING
  • Always RUNNING
  • BINDING forever success
  • Inactive DLQ

2. SSLCIPH mismatch means:

  • No agreed cipher
  • Queue full
  • Wrong MAXDEPTH
  • Trigger fired

3. Expired cert fix requires:

  • Import renewed cert and update label
  • Only RESET CHANNEL
  • Delete XMITQ
  • Disable OAM

4. AMQ9638 class messages relate to:

  • SSL/TLS
  • Trigger monitor
  • LDAP bind
  • Archive log
Published
Read time19 min
AuthorMainframeMaster
Verified: IBM MQ 9.3 documentation