title: Java connection to WMQ 8
body: <p>I am trying to get an existing Java application connect to WebSphere MQ 8. This has worked in the past with other versions of Java and WMQ, but with Java 8 and WMQ8, this doesn't want to work. 
  I am getting:</p>
  
  <pre><code>handling exception: javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
  SEND TLSv1.2 ALERT:  fatal, description = handshake_failure
  WRITE: TLSv1.2 Alert, length = 2
  called closeSocket()
  Exception in thread "main" com.ibm.mq.MQException: MQJE001: Completion Code '2', Reason '2397'.
  </code></pre>
  
  <p>I just can't see why this is occurring. I have set the various javax.net.ssl parameters. I use appropriate SSL_TRUSTSTORE &amp; KEYSTORE that I have created. Have a SSL_CIPHERSUITE.</p>
  
  <p>I have tried (almost) all of the documented CipherSuites that WMQ supports; I am working my through the entire list, with settings and environment like this: </p>
  
  <ol>
  <li>JAVA SSL_CIPHERSUITE = SSL_RSA_WITH_AES_256_CBC_SHA</li>
  <li>WMQ Channel SSL_CIPHERSUITE = TLS_RSA_WITH_AES_256_CBC_SHA</li>
  <li>MQ Client 7.0.0.1 -- I have tried switching to MQ Client 8, with no improvement</li>
  <li>IBM WebSphere MQ, Version: 8.0.0.5</li>
  <li>Nothing in AMQERR01.log corresponding to the client error</li>
  <li>Oracle Java 8 (Java(TM) SE Runtime Environment (build 1.8.0_60-b27)) -- with SSLv3 enabled (changed jdk.tls.disabledAlgorithms=RC4, DH keySize &lt; 768)</li>
  </ol>
  
  <p>Additional info: </p>
  
  <ul>
  <li>The customer (bank) is using MQ 7 so I don't have a choice in the
  matter of which QM they are using. But I have been testing locally with MQ 8 to check if that is part of the issue.</li>
  <li>I've tried: -Dcom.ibm.mq.cfg.useIBMCipherMappings=false </li>
  <li>Using JCE Unlimited Strength Jurisdiction Policy Files from Oracle. </li>
  </ul>