当我尝试从Linux连接Weblogic Server(安装在Windows上)t3s协议时,它显示以下错误:
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.<init>(Unknown Source)
at com.certicom.tls.interfaceimpl.TLSSystem.<init>(Unknown Source)
at com.certicom.net.ssl.SSLContext.<init>(Unknown Source)
at com.bea.sslplus.CerticomSSLContext.<init>(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.<init>(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)
虽然之前已经问过这个问题 - Solaris JMS Client connect to Weblogic 11g t3s security problem - 我已经尝试了答案,在CLASSPATH中设置wlserver_10.3 / server / lib / wlfullclient.jar,wlcipher.jar和webserviceclient + ssl.jar,它确实没有帮助。
在命令中也没有提供-Dweblogic.security.TrustKeyStore=CustomTrust -Dweblogic.security.CustomTrustKeyStoreType=JKS -Dweblogic.security.CustomTrustKeyStoreFileName=mykeystore
作为选项:java -jar jarfile.jar。
我们将非常感谢您的帮助! (对不起,我是stackoverflow的新手,不知道我是否可以将我的问题添加到原始问题链接)。
更新:
我发现java / Weblogic没有考虑我的任何环境变量,例如CLASSPATH和WEBLOGIC_HOME。为了指定jar,当我将所有jar从weblogic文件夹复制到我当前的文件夹时,它的工作原理(至少在Linux上)。当然,只有wlfullclient.jar,wlcipher.jar和webserviceclient + ssl.jar不足以连接到WebLogic。
对于WEBLOGIC_HOME,如果我在java -jar命令中将其指定为-Dweblogic.home =“Path \ to \ WeblogicHome”,则可以正常工作。
任何想法,我应该如何让java / Weblogic考虑我设置的环境变量?