title: How to connect to WbLogic JMS queue using t3s via full client with two way SSL authentication?
body: <p>I have struggled on this one for several days now.  I am using WebLogic 11g (10.3.4.0) on Windows (Linux behaves the same).  I have setup two way SSL authentication following details from <a href="http://emo.sourceforge.net/cert-login-howto.html" rel="nofollow">http://emo.sourceforge.net/cert-login-howto.html</a> and <a href="http://middlewareforum.com/weblogic/?p=312" rel="nofollow">http://middlewareforum.com/weblogic/?p=312</a>.  I used JMeter as the client with following JVM parameters.  Standalone Java client behaves the same.</p>
  
  <p>-Djavax.net.ssl.keyStoreType=pkcs12 -Djavax.net.ssl.trustStoreType=jks -Djavax.net.ssl.keyStore=c:/Users/sli/keys/browser.p12 -Djavax.net.debug=ssl -Djavax.net.ssl.keyStorePassword=PASSWORD-Djavax.net.ssl.trustStorePassword=changeit -Dweblogic.security.SSL.ignoreHostnameVerification=true</p>
  
  <p>It works fine with t3 thin client (wlthint3client.jar), but it does not work when I switch to full client (wlfullclient.jar).  One of applications somehow stuck with full client.  It is a different problem by its own.  BTW, full client is not full as it needs webserviceclient+ssl.jar and cryptoj.jar for SSL.  It complains following at client.</p>
  
  <p>javax.naming.CommunicationException [Root exception is java.net.ConnectException: t3s://localhost:7503: Destination unreachable; nested exception is: 
      com.bea.sslplus.TwoWaySSLHandshakeStageSocketException: SocketException during 2 way handshake; check client certificate or the network connection; No available router to destination]</p>
  
  <p>Here is the server side log.</p>
  
  <p>    
      
      
      
      &lt;39146459 SSL Version 2 with no padding>
      &lt;39149058 SSL3/TLS MAC>
      &lt;39149058 received SSL_20_RECORD>
      
      
      
      
      
      
      &lt;39149058 SSL3/TLS MAC>
      &lt;39149058 received HANDSHAKE>
      
      
      
      
      
      
      
      
      
      
      (Unknown Source)
          at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown Source)
          at com.certicom.tls.record.handshake.ServerStateSentHelloDone.handle(Unknown Source)
          at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage(Unknown Source)
          at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown Source)
          at com.certicom.tls.record.MessageInterpreter.interpretContent(Unknown Source)
          at com.certicom.tls.record.MessageInterpreter.decryptMessage(Unknown Source)
          at com.certicom.tls.record.ReadHandler.processRecord(Unknown Source)
          at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
          at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown Source)
          at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown Source)
          at javax.net.ssl.impl.SSLSocketImpl.startHandshake(Unknown Source)
          at weblogic.server.channels.DynamicSSLListenThread$1.run(DynamicSSLListenThread.java:130)
          at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
          at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
  >
      
      
      
      
      
      
      &lt;37447543 SSL Version 2 with no padding>
      &lt;37447552 SSL3/TLS MAC>
      &lt;37447552 received SSL_20_RECORD>
      
      
      
      
      
      
      
      
      &lt;37447552 SSL3/TLS MAC>
      &lt;37447552 received HANDSHAKE>
      
      
      
      
      
      
      
      
      
      
      (Unknown Source)
          at com.certicom.tls.record.handshake.HandshakeHandler.fireAlert(Unknown Source)
          at com.certicom.tls.record.handshake.ServerStateSentHelloDone.handle(Unknown Source)
          at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessage(Unknown Source)
          at com.certicom.tls.record.handshake.HandshakeHandler.handleHandshakeMessages(Unknown Source)
          at com.certicom.tls.record.MessageInterpreter.interpretContent(Unknown Source)
          at com.certicom.tls.record.MessageInterpreter.decryptMessage(Unknown Source)
          at com.certicom.tls.record.ReadHandler.processRecord(Unknown Source)
          at com.certicom.tls.record.ReadHandler.readRecord(Unknown Source)
          at com.certicom.tls.record.ReadHandler.readUntilHandshakeComplete(Unknown Source)
          at com.certicom.tls.interfaceimpl.TLSConnectionImpl.completeHandshake(Unknown Source)
          at javax.net.ssl.impl.SSLSocketImpl.startHandshake(Unknown Source)
          at weblogic.server.channels.DynamicSSLListenThread$1.run(DynamicSSLListenThread.java:130)
          at weblogic.work.ExecuteThread.execute(ExecuteThread.java:207)
          at weblogic.work.ExecuteThread.run(ExecuteThread.java:176)
  >
      
      
      
      </p>
  
  <p>I have done some research and found this (http://stackoverflow.com/questions/2047732/solaris-jms-client-connect-to-weblogic-11g-t3s-security-problem) that someone has gotten it working using full client on t3s for two way SSL authentication, but the link does not provide how.  I have also tried to use the WebLogic security option mentioned there and it still does not work for me.</p>
  
  <p>Thank you any of your help.</p>