title: Nifi to IBM MQ ciphersuite issue:
body: <p>We are  trying to connect to IBM MQ from our Nifi instance(nifi-1.11.4) using the processor 'consumeJMS ' and the controller service 'JMSConnectionFactoryProvider'.
  The JMSConnectionFactoryProvider is configured as shown below:
  <a href="https://i.stack.imgur.com/4LC4X.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/4LC4X.png" alt="enter image description here" /></a></p>
  <p>The consumeJMS processor is configured as shown below:</p>
  <p><a href="https://i.stack.imgur.com/qy1mQ.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/qy1mQ.png" alt="enter image description here" /></a></p>
  <p>The Nifi instance is able to connect to the MQ channel and receive real-time messages when the MQ is configured without any security i.e without SSL. However, on configuring the MQ with security i.e with TLS V1.2 and also configuring the 'StandardSSLContextService' controller service , we get the error as shown below:
  <a href="https://i.stack.imgur.com/eMAV3.png" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/eMAV3.png" alt="enter image description here" /></a></p>
  <pre><code> JMSWMQ0018: Failed to connect to queue manager 'XXXXXX' with connection mode 'Client' and host name 'XXXXXX.YY.com(1414)'.
       CC=2;RC=2397;AMQ9204: Connection to host 'XXXXXX.YY.com(1414)' rejected. [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2397;AMQ9641: Remote CipherSpec error for channel 'ZZZZZZ.XXXXXX.04' to host ''. [3=ZZZZZZ.XXXXXX.04]],3=XXXXXX.YY.com(1414),5=RemoteConnection.analyseErrorSegment]
       mqiException: CC=2;RC=2397;AMQ9641: Remote CipherSpec error for channel 'ZZZZZZ.XXXXXX.04' to host ''. [3=ZZZZZZ.XXXXXX.04]
       
       2020-10-28 20:18:24,300 ERROR [Timer-Driven Process Thread-9] o.apache.nifi.jms.processors.ConsumeJMS ConsumeJMS[id=c26ce2ba-] Error while trying to process JMS message: org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ0018: Failed to connect to queue manager 'XXXXXX' with connection mode 'Client' and host name 'XXXXXX.YY..com(1414)'.
  Check the queue manager is started and if running in client mode, check there is a listener running. Please see the linked exception for more information.; nested exception is com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2397' ('MQRC_JSSE_ERROR').
  org.springframework.jms.UncategorizedJmsException: Uncategorized exception occurred during JMS processing; nested exception is com.ibm.msg.client.jms.DetailedJMSException: JMSWMQ0018: Failed to connect to queue manager 'XXXXXX' with connection mode 'Client' and host name 'XXXXXX.YY..com(1414)'.
  Check the queue manager is started and if running in client mode, check there is a listener running. Please see the linked exception for more information.; nested exception is com.ibm.mq.MQException: JMSCMQ0001: WebSphere MQ call failed with compcode '2' ('MQCC_FAILED') reason '2397' ('MQRC_JSSE_ERROR').
  
  CC=2;RC=2397;AMQ9204: Connection to host 'XXXXXX.YY..com(1414)' rejected. [1=com.ibm.mq.jmqi.JmqiException[CC=2;RC=2397;AMQ9641: Remote CipherSpec error for channel 'ZZZZZZ.XXXXXX.04' to host ''. [3=ZZZZZZ.XXXXXX.04]],3=XXXXXX.YY..com(1414),5=RemoteConnection.analyseErrorSegment].
  </code></pre>
  <p>As discussed with our IBM Sever admin, they mentioned they have different ciphersuite setup on their  side. They advised us to configure same Ciphersuite on NIFI instance in order to overcome this issue.</p>
  <p>Server Side Error:</p>
  <pre><code>===================
  Process(12232.3231) User(abc) Program(mqmgr123)
                      Host(VMServer) Installation(Installation1)
                      VRMF(0.0.0.01) QMgr(YYYYYY)
  AMQ9639: Remote channel 'XXXXXX.YYYYYY.04' did not specify a CipherSpec.
  EXPLANATION:
  Remote channel 'XXXXXX.YYYYYY.04' did not specify a CipherSpec when the local
  channel expected one to be specified.
  The remote host is 'vmclient (00.001.00.05)'.
  The channel did not start.
  ACTION:
  Change the remote channel 'XXXXXX.YYYYYY.04' on host 'vmclient
  (00.001.00.05)' to specify a CipherSpec so that both ends of the channel have
  matching CipherSpecs.
  </code></pre>