Tomcat 7

时间:2015-06-19 06:48:10

标签: tomcat ssl centos certificate diffie-hellman

我成功设置了两台带有Tomcat和SSL证书的Ubuntu机器。 我对Centos 6采用了完全相同的程序,但是当我尝试连接服务器(使用Opera)时,我得到了这个:

  

服务器有一个弱的,短暂的Diffie-Hellman公钥

连接器如下,catalina.log中没有错误:

<Connector port="some port number"  
           protocol="org.apache.coyote.http11.Http11Protocol" 
           SSLEnabled="true"
           maxThreads="150" scheme="https" secure="true"
           clientAuth="false" sslProtocol="TLS"
           keystoreFile="path to jks"
           keystoreType="JKS"
           keystorePass="mypass1"
           keyPass="mypass2"  /> 

使用Firefox,我收到了不受信任的通信错误。

4 个答案:

答案 0 :(得分:30)

对我来说,在将一个允许的密码列表添加到conf / server.xml中的T​​omcat配置以禁用弱Diffie-Hellman密码后,它才起作用:

    <Connector
        ...
        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_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"
        ...

答案 1 :(得分:2)

适用于Google Chrome ver.44,感谢Jason Scroggins建议:

  1. 在新标签中,在地址栏中输入或粘贴about:config,然后按Enter键。点击按钮承诺要小心。
  2. 在列表上方的搜索框中,键入或粘贴dhe并在列表过滤时暂停。
  3. 双击security.ssl3.dhe_rsa_aes_128_sha首选项将其从true切换为false(禁用Firefox使用此密码)。
  4. 双击security.ssl3.dhe_rsa_aes_256_sha首选项将其从true切换为false(禁用Firefox使用此密码)。

答案 2 :(得分:2)

将其添加到server.xml文件中并重新启动服务器

<Connector port="8443" protocol="HTTP/1.1" SSLEnabled="true"
       maxThreads="150" scheme="https" secure="true"
       keystoreFile="keystorePath"
       keystorePass="keystorepass"
       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_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"
       clientAuth="false" sslProtocol="TLS"/>

尝试使用https://localhost:8443

进行浏览

答案 3 :(得分:0)

对我来说,这是tomcat使用的java版本的问题。 我将版本从JDK 6更改为JDK 1.7_080,错误消失了。

当我说我更改了JAVA版本时,我的意思是我修改了环境变量“JAVA_HOME”。