代码之家  ›  专栏  ›  技术社区  ›  Peter Pei Guo

强制wsimport(Java 10/11)容忍TLSv1和弱密码

  •  4
  • Peter Pei Guo  · 技术社区  · 6 年前

    我用 wsimport 从特定的 WSDL . 我试过Java 10,握手失败,然后我试过Java 9,一切都很好。

    我用 wireshark ,原因很清楚,我交流的服务器仍然使用TLSv1,我猜Java 10 导入 不再容忍这种情况(至少在默认情况下是这样),尽管9允许。

    我对服务器无能为力,所以问题是如何使用TLSv1公差运行Java 10 wsimport?

    1 回复  |  直到 6 年前
        1
  •  2
  •   Peter Pei Guo    6 年前

    做了更多的调查,最有用的测试是使用 ssl labs . 结果发现,服务器支持一个弱密码套件: TLS_RSA_WITH_3DES_EDE_CBC_SHA .

    通过添加以下java选项解决了该问题:

    -Dhttps.cipherSuites=SSL_RSA_WITH_3DES_EDE_CBC_SHA
    

    无法将密码套件指定为 与CBC合作 . Java的命名约定要求调用它 SSL_RSA_WITH_3DES_EDE_CBC_SHA .

    附带说明:上面@nullpointer注释中提到的bug在我尝试的三个版本中都解决了:Java 9/10/11。

    推荐文章