2015-04-14 74 views

回答

1

甲骨文表示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的支持。

對於一個快速測試:

  • 在自己的項目
  • 複製TCPSSLHelper你的包創建org.vertx.java.core.net.impl包和編輯啓用的協議不變
  • 構建並運行。
  • CURL使用特定的協議指令,並看到該服務器將只與TLSv1.2連接。

你的源通常會之前在classpath第三方來源,因此這一變化將覆蓋在Vert.x lib中的類,並且是所有你需要限制TLSv1.2工作。

理想情況下,這將作爲補丁提交回Vert.x,其中協議在命令行上作爲屬性讀取。