我有一个运行在Amazon AMI上的tomcat secure serlet,我已经在PRT8443上设置了一个使用TLS协议和使用.jks密钥库的安全连接器:
<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
maxThreads="150" scheme="https" secure="true"
clientAuth="false" sslProtocol="TLS"
compression="off"
keystoreFile="\cert\localhost.jks" keystorePass="password"
/>当我尝试从互联网访问url时,我得到了"ERR_SSL_WEAK_SERVER_EPHEMERAL_DH_KEY“错误。
在更新Chrome45之后,我开始遇到这个错误。现在我使用的是45.0.2454.85m的Chrome版本。
有没有人可以帮我修复这个错误?
发布于 2015-10-13 15:49:41
找到Tomcat (TOMCAT_PATH)的安装路径。在server.xml中找到SSL /1.1连接器的XML定义,并将以下内容添加到连接器
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_256_CBC_SHA256, TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"/>为了获得更好的安全性,请删除对RC4密码的所有引用。
从上面的列表中找到包含"RC4“的所有密码,并从列表中删除这些密码。RC4密码非常旧,一些较旧的智能手机和/或代理服务器仍然依赖于RC4密码。仍然使用RC4的人的完整列表在这里:https://blog.cloudflare.com/the-web-is-world-wide-or-who-still-needs-rc4/为了获得最好的兼容性,离开RC4,为了最好的安全性,删除RC4。
发布于 2015-10-14 19:24:09
过了一会儿,我得到了答案:我必须为Tomcat7中的连接器设置密码,如下所示:
<Connector port="8443" protocol="HTTP/1.1"
maxThreads="200" SSLEnabled="true"
scheme="https" secure="true" disableUploadTimeout="true"
acceptCount="100"
clientAuth="false" sslProtocol="TLS"
keystoreFile="localhost.jks" keystorePass="password"
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_256_CBC_SHA256,
TLS_RSA_WITH_AES_256_CBC_SHA,SSL_RSA_WITH_RC4_128_SHA"
/>尽管如此,Google Chrome浏览器仍然告诉我它被弃用的密码。
发布于 2016-05-24 20:50:02
要解决这个问题,您必须配置与JDK匹配的密码。请参阅以下链接https://stackoverflow.com/a/32473771中的答案
https://stackoverflow.com/questions/32483712
复制相似问题