我遇到Tomcat 6的问题。由于某种原因,Tomcat在使用Chrome或Firefox时没有回答客户端Hello SSL消息(因此浏览器最终超时),但它在Internet Explorer上运行良好。奇怪的是,这并不总是发生;它取决于Tomcat运行的机器(在某些机器上它可以工作,而在其他一些机器上却没有)。
使用打包器嗅探器我比较了不同的客户端Hello消息,我能够将问题跟踪到0x0033密码套件(TLS_DHE_RSA_WITH_AES_128_CBC_SHA)。如果浏览器将其指定为已接受的密码套件,则服务器可能会挂起(取决于运行它的计算机)。 Internet Explorer没有将其指定为可接受的密码套件,因此服务器正常工作,但Chrome和Firefox都可以正常运行,因此问题就出现了(实际上我认为服务器最终会回答客户端Hello消息,但需要很长时间大约99.99%的时间浏览器超时。)
我有一个解决方法,它是在浏览器上禁用此密码套件。我想我也可以在Tomcat上禁用密码套件,但我试图避免这种情况。我实际上是想弄清楚为什么它会挂在第一位。请注意,我没有在出现问题的计算机上找到任何模式,只是它们都是Windows计算机。
有什么想法吗?谢谢!
答案 0 :(得分:0)
我只能提出建议 - 在那些Windows机器上安装自定义加密软件,以某种方式为某些密码套件注册它的安全提供程序(例如使用支持的库)。所以java调用这个密码套件的外部实现并由于某种原因挂起它。我自己从未遇到过这种情况但只听过一次故事。不太可能,我害怕。
Othrewise这个密码套看起来绝对理智,只是在linux上尝试过。