背景知识:
1、cipher 是由服务进行端选择的。
2、服务端选择之前会和客户端进行协商,优先选择客户端支持的cipher。
3、如果客户端支持的cipher都不被服务端支持,则通信异常。
4、Tomcat设置cipher的方法为:在server.xml中SSL connector中的ciphers字段中设置相应的套件。
5、Tomcat7.0支持设置cipher的优先顺序,但需要Tomcat 7.0.60以上版本及JAVA 8或更新的JAVA版本。
6、如果Tomcat不设置cipher的优先顺序,服务端将以客户端的cipher列表中的先后顺序选择cipher。
7、Tomcat cipher的顺序:server.xml的ciphers字段中的顺序决定了协商时的优先顺序,所以应该将同意使用的套件按安全性强弱排列。
java 7
http://docs.oracle.com/javase/7/docs/technotes/guides/security/SunProviders.html#SunJSSEProvider
java 8
http://docs.oracle.com/javase/8/docs/technotes/guides/security/SunProviders.html#SunJSSEProvider
修改DHE的键长:
JAVA_OPTS="$JAVA_OPTS -Djdk.tls.ephemeralDHKeySize=1024"