警告:SSL引擎不支持指定的密码

我有一个正在运行的Web服务,通​​过Apache Tomcat 7server.xml使用以下连接器元素:

 <Connector port="443" protocol="org.apache.coyote.http11.Http11Protocol" SSLEnabled="true" maxThreads="150" scheme="https" secure="true" clientAuth="false" keystoreFile="C:\Java\myhost.keystore" keystorePass="importkey" sslProtocol="TLS" /> 

多年来,这一直运行良好,但是现在出现了一种新的Logjam安全威胁,并且我正在尝试使用“部署Diffie-Hellman指南”来获取我的Web服务以获取TLS指令。

所以,我将下面一行添加到<connector>元素中:

ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-ECDSA-AES256-GCM-SHA384,DHE-RSA-AES128-GCM ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128- -RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA,ECDHE-ECDSA-AES256-SHA,DHE-RSA-AES128-SHA256,DHE-RSA-AES128-SHA,DHE-DSS DHE-RSA-AES256-SHA,DHE-RSA-AES256-SHA,AES128-GCM-SHA256,AES256-GCM-SHA384,AES128-SHA256,AES256-SHA256,AES128 -SHA,AES256-SHA,AES,CAMELLIA,DES-CBC3-SHA“

Tomcat重新启动正常,但我不能再连接到我的Web服务。

检查日志后,我注意到这一行:

警告:SSL引擎不支持指定的密码:ECDHE-RSA-AES128-GCM-SHA256,ECDHE-ECDSA-AES128-GCM-SHA256,ECDHE-RSA-AES256-GCM-SHA384,ECDHE-ECDSA-AES256- ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256:ECDHE-RSA-AES128-SHA256:ECDHE-ECDSA-AES128-SHA256: ECDHE-ECDSA-AES128-SHA:ECDHE-RSA-AES256-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-SHA,ECDHE- DHE-RSA-AES128-SHA,DHE-DSS-AES128-SHA256,DHE-RSA-AES256-SHA256,DHE-DSS-AES256-SHA,DHE-RSA-AES256-SHA,AES128-GCM-SHA256,AES256-GCM- SHA3​​84,AES128-SHA256,AES256-SHA256,AES128-SHA,AES256-SHA,AES,CAMELLIA,DES-CBC3-SHA

试图让Tomcat只使用这些密码,我错过了什么?

我如何使它们由SSL引擎支持?

正如这里所解释的,你可能必须像这样设置ciphers列表:

 sslProtocols = "TLS" ciphers="TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA256, TLS_ECDHE_RSA_WITH_AES_128_CBC_SHA,TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA384, TLS_ECDHE_RSA_WITH_AES_256_CBC_SHA,TLS_ECDHE_RSA_WITH_RC4_128_SHA, TLS_RSA_WITH_AES_128_CBC_SHA256,TLS_RSA_WITH_AES_128_CBC_SHA, TLS_RSA_WITH_AES_25‌​6_CBC_SHA256,TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA" 

第一部分ECDHE规定了应该使用什么密钥交换algorithm。 […]

接下来是authenticationalgorithmRSA。 […]

AES128-GCM是主要的encryptionalgorithm,用于encryption所有stream量。 […]

最后一部分SHA256标识正在使用的消息摘要,validation消息的真实性。