ibm mq - 1 way SSL with MQIPT and tomcat docker -
i trying connect mqipt having 1 way ssl enabled. below spring configuration
<bean id="connectionfactory" class="org.springframework.jms.connection.singleconnectionfactory"> <property name="targetconnectionfactory"> <ref bean="mqqueueconnectionfactory" /> </property> </bean> <bean id="mqqueueconnectionfactory" class="com.ibm.mq.jms.mqqueueconnectionfactory"> <property name="hostname" value="xx.xx.xx.xx" /> <property name="port" value="xxxx" /> <property name="queuemanager" value="qm" /> <property name="transporttype" value="1" /> <property name="channel" value="ssl.chnl" /> <property name="sslciphersuite" value="ssl_rsa_with_aes_256_cbc_sha"/> </bean> <bean id="destination" class="com.ibm.mq.jms.mqqueue"> <constructor-arg value="sandbox_q" /> <property name="basequeuemanagername"> <value>qm</value> </property> <property name="basequeuename"> <value>queue</value> </property> </bean>
i added certs truststore , set flag -dcom.ibm.mq.cfg.useibmciphermappings=false in tomcat start up. in mqipt ciphersuite set ssl_rsa_with_aes_256_cbc_sha. getting below error
mq exception:: uncategorized exception occured during jms processing; nested exception com.ibm.msg.client.jms.detailedjmsexception: jmswmq0018: failed connect queue manager 'qm' connection mode 'client' , host name 'null'. .... caused by: com.ibm.mq.mqexception: jmscmq0001: websphere mq call failed compcode '2' ('mqcc_failed') reason '2400' ('mqrc_unsupported_cipher_suite').
i using jdk 8 , mq client jars version 8.
if using oracle jre, need specify sslciphersuite per table in ibm mq v8 knowledge center page "ssl/tls cipherspecs , ciphersuites in ibm mq classes jms"
cipherspec |equivalent ciphersuite (ibm jre)|equivalent ciphersuite (oracle jre) ------------------------------------------------------------------------------------------------- tls_rsa_with_aes_256_cbc_sha| ssl_rsa_with_aes_256_cbc_sha |tls_rsa_with_aes_256_cbc_sha
based on above, if mqipt uses ibm jre specifying ssl_rsa_with_aes_256_cbc_sha
, means svrconn channel on queue manager should specifying tls_rsa_with_aes_256_cbc_sha
, oracle jre -dcom.ibm.mq.cfg.useibmciphermappings=false
should specifying tls_rsa_with_aes_256_cbc_sha
well.
summary, change spring configuration to:
<property name="sslciphersuite" value="tls_rsa_with_aes_256_cbc_sha"/>
Comments
Post a Comment