我无法禁用Tomcat中的弱SSL密码,如许多地方所述.
http://www.techstacks.com/howto/secure-ssl-in-tomcat.html.
目前,我的连接器如下所示:
目前,我的连接器如下所示:
..Connector protocol="org.apache.coyote.http11.Http11NioProtocol" port="8443" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" ciphers="SSL_RSA_WITH_RC4_128_MD5,SSL_RSA_WITH_RC4_128_SHA,TLS_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_RSA_WITH_AES_128_CBC_SHA,TLS_DHE_DSS_WITH_AES_128_CBC_SHA,SSL_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_RSA_WITH_3DES_EDE_CBC_SHA,SSL_DHE_DSS_WITH_3DES_EDE_CBC_SHA" clientAuth="false" sslProtocol="TLS" keystoreFile="C:\Programs\apache-tomcat-6.0.33\keystore" keystorePass="nn"/>
当我尝试连接(使用IE或ssldigger)我在Tomcat中得到以下错误:
java.lang.IllegalArgumentException: Unsupported ciphersuite SSL_RSA_WITH_RC4_128_SHA at com.sun.net.ssl.internal.ssl.CipherSuite.valueOf(Unknown Source) at com.sun.net.ssl.internal.ssl.CipherSuiteList.<init>(Unknown Source) at com.sun.net.ssl.internal.ssl.SSLEngineImpl.setEnabledCipherSuites(Unknown Source) at org.apache.tomcat.util.net.NioEndpoint.createSSLEngine(NioEndpoint.java:1141) at org.apache.tomcat.util.net.NioEndpoint.setSocketOptions(NioEndpoint.java:1096) at org.apache.tomcat.util.net.NioEndpoint$Acceptor.run(NioEndpoint.java:1315) at java.lang.Thread.run(Unknown Source)
顺便提一下,我删除了不受支持的密码(几乎一个接一个),而我唯一留下来的密码似乎是被支持的是SSL_RSA_WITH_RC4_128_MD5
另外,我假设不支持的密码与Tomcats的特定密钥对无关,但更广泛地说与广泛可用的密码无关.
这里有什么问题?
解决方法
我想出来了,逗号分隔的密码列表是空格敏感的,即罪魁祸首是逗号后面的空格字符