我刚刚升级到Mule 3.7并收到此错误。我正在使用与我在3.5上使用的相同的密钥库文件。我没有更改tls-default.conf
中的任何内容。
ERROR 2016-04-04 05:55:25,450 [[NEWSI].http.request.dispatch.8443.01 org.mule.exception.DefaultSystemExceptionStrategy: Caught exception in Exception Strategy: no cipher suites in common
javax.net.ssl.SSLHandshakeException: no cipher suites in common
at sun.security.ssl.Alerts.getSSLException(Alerts.java:192) ~[?:1.8.0_77]
at sun.security.ssl.SSLSocketImpl.fatal(SSLSocketImpl.java:1949) ~[?:1.8.0_77]
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:302) ~[?:1.8.0_77]
at sun.security.ssl.Handshaker.fatalSE(Handshaker.java:292) ~[?:1.8.0_77]
at sun.security.ssl.ServerHandshaker.chooseCipherSuite(ServerHandshaker.java:1035) ~[?:1.8.0_77]
at sun.security.ssl.ServerHandshaker.clientHello(ServerHandshaker.java:738) ~[?:1.8.0_77]
at sun.security.ssl.ServerHandshaker.processMessage(ServerHandshaker.java:221) ~[?:1.8.0_77]
at sun.security.ssl.Handshaker.processLoop(Handshaker.java:979) ~[?:1.8.0_77]
at sun.security.ssl.Handshaker.process_record(Handshaker.java:914) ~[?:1.8.0_77]
at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:1062) ~[?:1.8.0_77]
at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1375) ~[?:1.8.0_77]
at sun.security.ssl.SSLSocketImpl.readDataRecord(SSLSocketImpl.java:928) ~[?:1.8.0_77]
at sun.security.ssl.AppInputStream.read(AppInputStream.java:105) ~[?:1.8.0_77]
at java.io.BufferedInputStream.fill(BufferedInputStream.java:246) ~[?:1.8.0_77]
at java.io.BufferedInputStream.read(BufferedInputStream.java:265) ~[?:1.8.0_77]
at org.apache.commons.httpclient.HttpParser.readRawLine(HttpParser.java:78) ~[commons-httpclient-3.1.jar:?]
at org.apache.commons.httpclient.HttpParser.readLine(HttpParser.java:106) ~[commons-httpclient-3.1.jar:?]
at org.mule.transport.http.HttpServerConnection.readLine(HttpServerConnection.java:245) ~[mule-transport-http-3.7.0.jar:3.7.0]
at org.mule.transport.http.HttpServerConnection.getRequestLine(HttpServerConnection.java:557) ~[mule-transport-http-3.7.0.jar:3.7.0]
at org.mule.transport.http.HttpRequestDispatcherWork.run(HttpRequestDispatcherWork.java:67) ~[mule-transport-http-3.7.0.jar:3.7.0]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) [?:1.8.0_77]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [?:1.8.0_77]
at java.lang.Thread.run(Thread.java:745) [?:1.8.0_77]
这是我在mule-config.xml中的httpsConnector定义
<https:connector name="httpsConnector">
<https:tls-client path="keystore.jks" storePassword="1234"/>
<https:tls-key-store path="keystore.jks" keyPassword="1234" storePassword="1234"/>
<https:tls-server path="keystore.jks" storePassword="1234"/>
</https:connector>
感谢任何帮助
答案 0 :(得分:2)
尝试使用Vm参数进行调试。这样你就可以获得更好的想法。 您可以使用以下参数。
-Djavax.net.debug=all
-Djavax.net.debug=ssl
如果您仍然不确定丢失了什么,请在以下网址中粘贴您的主机名,它将为您提供您尝试连接的主机所使用的密码套件
答案 1 :(得分:1)
下载keystore explore以查看您的keystore.jks。
如果您的密钥是由DSA算法创建的,那么在 Windows 上运行Anypoint Studio将会为您提供#34;没有共同的密码套件&#34;您在 Mac
上看不到的错误使用RSA算法创建一个新的Java密钥库将摆脱这个问题。用RSA替换旧密钥库。