javax.net.ssl.SSLHandshakeException:没有合适的协议 [英] javax.net.ssl.SSLHandshakeException: No appropriate protocol

查看:5580
本文介绍了javax.net.ssl.SSLHandshakeException:没有合适的协议的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我已经用java 1.8安装了tomcat 8(ssl支持)。
当启动tomcat catalina out write

i have install tomcat 8(ssl support) with java 1.8. When start tomcat catalina out write

javax.net.ssl.SSLHandshakeException: No appropriate protocol (protocol is disabled or cipher suites are inappropriate)
at sun.security.ssl.Handshaker.activate(Handshaker.java:503)
at sun.security.ssl.SSLEngineImpl.kickstartHandshake(SSLEngineImpl.java:729)
at sun.security.ssl.SSLEngineImpl.beginHandshake(SSLEngineImpl.java:756)
at org.apache.tomcat.util.net.SecureNioChannel.reset(SecureNioChannel.java:94)
at org.apache.tomcat.util.net.SecureNioChannel.<init>(SecureNioChannel.java:76)
at org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.java:544)
at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:697)
at java.lang.Thread.run(Thread.java:745)

12-Dec-2016 14:12:37.297 WARNING [main] org.apache.tomcat.util.net.jsse.JSSESocketFactory.getEnableableProtocols None of the SSL protocols specified are supported by the SSL engine : [TLSv1+TLSv1.1+TLSv1.2]

旧版本的tomcat和java错误不会发生。

With old version of tomcat and java errors don't occur.

我的server.xml配置

My server.xml configuration

    <Connector port="443" protocol="HTTP/1.1" SSLEnabled="true"
               maxThreads="700" scheme="https" secure="true"
               clientAuth="false" sslProtocol="TLS" sslEnabledProtocols="TLSv1+TLSv1.1+TLSv1.2"
keystoreFile="/var/lib/tomcat8/keystore" keystorePass="********" keystoreType="JKS"
keyAlias="tomcat"
ciphers="TLS_RSA_WITH_AES_128_CBC_SHA,
TLS_RSA_WITH_AES_256_CBC_SHA,
TLS_RSA_EXPORT1024_WITH_RC4_56_MD5,
TLS_RSA_WITH_AES_128_CBC_SHA256,
TLS_RSA_WITH_AES_256_CBC_SHA256,
TLS_RSA_WITH_RC4_128_MD5,
TLS_RSA_WITH_RC4_128_SHA,
TLS_RSA_WITH_DES_CBC_SHA,
TLS_RSA_WITH_3DES_EDE_CBC_SHA,
TLS_RSA_EXPORT1024_WITH_DES_CBC_SHA"
/>

可能是什么问题?
谢谢

What could be the problem? Thanks

推荐答案

来自 Apache Tomcat 8配置参考 sslEnabledProtocols 应代表


支持HTTPS连接的逗号分隔SSL协议列表。

The comma separated list of SSL protocols to support for HTTPS connections.

Apache Tomcat 8 - 安全注意事项文档有一个示例,指示此参数的正确用法 -
sslEnabledProtocols =TLSv1,TLSv1.1, TLSv1.2\" 工作。您错误地指定使用 + 而不是 - TLSv1 + TLSv1.1 + TLSv1.2

The Apache Tomcat 8 - Security Considerations document has an example indicating the correct usage of this parameter -- sslEnabledProtocols="TLSv1,TLSv1.1,TLSv1.2". You have this incorrectly specified to use + instead of , -- TLSv1+TLSv1.1+TLSv1.2.

这篇关于javax.net.ssl.SSLHandshakeException:没有合适的协议的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
相关文章
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆