title: Security problem connecting to Weblogic 10.3 t3s protocol from Linux JMX client
body: <p>When I try to connect Weblogic Server (installed on Windows) t3s protocol from Linux, it shows this error:</p>
  
  <pre><code>Not enough cryptography available to enable a cipher suite!
  java.lang.IllegalStateException: Not enough cryptography available to enable a cipher suite!
      at com.certicom.tls.interfaceimpl.TLSSystem.resetCipherSuiteSupport(Unknown Source)
      at com.certicom.tls.interfaceimpl.TLSSystem.setCertificateSupport(Unknown Source)
      at com.certicom.tls.interfaceimpl.TLSSystem.&lt;init&gt;(Unknown Source)
      at com.certicom.tls.interfaceimpl.TLSSystem.&lt;init&gt;(Unknown Source)
      at com.certicom.net.ssl.SSLContext.&lt;init&gt;(Unknown Source)
      at com.bea.sslplus.CerticomSSLContext.&lt;init&gt;(Unknown Source)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
      at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
      at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:27)
      at java.lang.reflect.Constructor.newInstance(Constructor.java:513)
      at java.lang.Class.newInstance0(Class.java:355)
      at java.lang.Class.newInstance(Class.java:308)
      at weblogic.security.utils.SSLSetup.getSSLDelegateInstance(SSLSetup.java:132)
      at weblogic.security.utils.SSLContextWrapper.&lt;init&gt;(SSLContextWrapper.java:46)
      at weblogic.security.utils.SSLContextWrapper.getInstance(SSLContextWrapper.java:41)
      at weblogic.security.utils.SSLSetup.getSSLContext(SSLSetup.java:313)
      at weblogic.security.SSL.SSLClientInfo.getSSLSocketFactory(SSLClientInfo.java:101)
      at weblogic.socket.ChannelSSLSocketFactory.getSocketFactory(ChannelSSLSocketFactory.java:126)
      at weblogic.socket.ChannelSSLSocketFactory.createSocket(ChannelSSLSocketFactory.java:76)
      at weblogic.socket.AbstractMuxableSocket.createSocket(AbstractMuxableSocket.java:223)
      at weblogic.rjvm.t3.MuxableSocketT3.newSocketWithRetry(MuxableSocketT3.java:206)
      at weblogic.rjvm.t3.MuxableSocketT3.connect(MuxableSocketT3.java:375)
      at weblogic.rjvm.t3.ConnectionFactoryT3S.createConnection(ConnectionFactoryT3S.java:34)
      at weblogic.rjvm.ConnectionManager.createConnection(ConnectionManager.java:1773)
      at weblogic.rjvm.ConnectionManager.findOrCreateConnection(ConnectionManager.java:1416)
      at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:437)
      at weblogic.rjvm.ConnectionManager.bootstrap(ConnectionManager.java:315)
      at weblogic.rjvm.RJVMManager.findOrCreateRemoteInternal(RJVMManager.java:251)
      at weblogic.rjvm.RJVMManager.findOrCreate(RJVMManager.java:194)
      at weblogic.rjvm.RJVMFinder.findOrCreateRemoteServer(RJVMFinder.java:225)
      at weblogic.rjvm.RJVMFinder.findOrCreate(RJVMFinder.java:188)
      at weblogic.rjvm.ServerURL.findOrCreateRJVM(ServerURL.java:153)
      at weblogic.jndi.WLInitialContextFactoryDelegate$1.run(WLInitialContextFactoryDelegate.java:344)
      at weblogic.security.acl.internal.AuthenticatedSubject.doAs(AuthenticatedSubject.java:363)
      at weblogic.security.service.SecurityManager.runAs(Unknown Source)
      at weblogic.jndi.WLInitialContextFactoryDelegate.getInitialContext(WLInitialContextFactoryDelegate.java:339)
      at weblogic.jndi.Environment.getContext(Environment.java:315)
      at weblogic.jndi.Environment.getContext(Environment.java:285)
      at weblogic.jndi.Environment.createInitialContext(Environment.java:208)
      at weblogic.jndi.Environment.getInitialContext(Environment.java:192)
      at weblogic.jndi.Environment.getInitialContext(Environment.java:170)
      at com.itrsgroup.jmx.diagnostics.WebLogicDiagnostics.dumpInformation(WebLogicDiagnostics.java:115)
      at com.itrsgroup.jmx.diagnostics.WebLogicDiagnostics.process(WebLogicDiagnostics.java:56)
      at com.itrsgroup.jmx.diagnostics.Diagnostics.dumpSpecificUsage(Diagnostics.java:31)
      at com.itrsgroup.jmx.diagnostics.Diagnostics.main(Diagnostics.java:18)
      at com.itrsgroup.launchpad.Diagnostics.main(Diagnostics.java:9)
  </code></pre>
  
  <p>Although this question had been asked before - <a href="https://stackoverflow.com/questions/2047732/solaris-jms-client-connect-to-weblogic-11g-t3s-security-problem">Solaris JMS Client connect to Weblogic 11g t3s security problem</a> - I have tried the answers, setting wlserver_10.3/server/lib/wlfullclient.jar, wlcipher.jar and webserviceclient+ssl.jar in CLASSPATH, it does not help.</p>
  
  <p>Nor does providing <code>-Dweblogic.security.TrustKeyStore=CustomTrust -Dweblogic.security.CustomTrustKeyStoreType=JKS -Dweblogic.security.CustomTrustKeyStoreFileName=mykeystore</code> as options in command: java -jar jarfile.jar. </p>
  
  <p>Your help will be appreciated! (I am sorry I am new to stackoverflow and not sure if I could have added my problem to original problem link). </p>
  
  <p>UPDATE:</p>
  
  <p>I figured out that java/Weblogic is not considering any of my environment variables such as CLASSPATH and WEBLOGIC_HOME. For specifying the jars, when I copy all the jars from weblogic folder to my current folder, its works (atleast on Linux). And definitely, only wlfullclient.jar, wlcipher.jar and webserviceclient+ssl.jar are not sufficient for connecting to WebLogic.</p>
  
  <p>For WEBLOGIC_HOME, if I specify this as -Dweblogic.home="Path\to\WeblogicHome" on the java -jar command, it works.</p>
  
  <p>Any idea, how should I make java/Weblogic consider the environment variables that I set? </p>