我想将SSL协议限制为Vert.x 2.1.5上的TLS 1.2作为http服务器和客户端。我使用的是jdk 7.有没有人有过如何做的经验?
答案 0 :(得分:1)
Oracle称here应通过在SSL引擎上明确设置启用的协议来限制JRE 7上的SSL协议:
sslEngine.setEnabledProtocols(new String[] {"SSLv2Hello", "TLSv1", "TLSv1.1", "TLSv1.2"});
现在查看Vert.x v2.1.5中的TCPSSLHelper.java类。有一个常量包含已启用协议的列表,它用于在SSL引擎上设置启用的协议:
// Make sure SSLv3 is NOT enabled due to POODLE issue
private static final String[] ENABLED_PROTOCOLS =
{"SSLv2Hello", "TLSv1", "TLSv1.1", "TLSv1.2"};
将该值更改为{" TLSv1.2"};限制对TLSv1.2的支持。
快速测试:
您的源通常会出现在类路径上的第三方源之前,因此此更改将覆盖Vert.x lib中的类,您只需要限制为TLSv1.2。
理想情况下,这将作为补丁提交回Vert.x,其中协议在命令行上作为属性读取。