【问题标题】:Modifiying Weblogic Server to use TLS修改 Weblogic Server 以使用 TLS
【发布时间】:2015-11-08 02:30:02
【问题描述】:

我有一个运行具有 2 个节点的 Weblogic Server(运行版本 10.3.6)的 VM。我的主机上还有一个运行 SSL Web 服务的 Tomcat 服务器,Weblogic Server 必须连接到该服务器。我在启动下的“Arguments”文本区添加了两个启动参数:

-Dweblogic.security.SSL.protocolVersion=TLSv1.1 -Dweblogic.security.SSL.minimumProtocolVersion=TLSv1.1

我添加这些是因为节点之前尝试使用 SSLv2 进行连接,并导致与 Tomcat 的握手错误。

添加这些参数后,我仍然看到节点尝试使用 SSLv2 连接到 Tomcat。我试图让它使用 TLS。我还能做些什么来让它使用 TLS?

【问题讨论】:

    标签: java tomcat ssl weblogic


    【解决方案1】:

    protocolVersion 值应该是 TLS1 而不是 TLSv1.1。

    https://docs.oracle.com/middleware/1213/wls/SECMG/ssl_version.htm#SECMG636

    【讨论】:

      【解决方案2】:

      您可能没有使用 SSLv2,而是将 SSLv3 或 TLS1.x ClientHello 包装到 SSLv2 ClientHello 中。请参阅"Why does Java's SSLSocket send a version 2 client hello?""How to initiate ssl connection using SSLv2"

      请注意,latest JSSE Reference Guide (JDK 8) 表示:

      注意:作为禁用 SSLv3 的一部分,一些服务器还禁用了 SSLv2Hello,这意味着与 SSLv2Hello 活动客户端(例如 JDK 1.5/6)的通信将失败。从 JDK 7 开始,SSLv2Hello 默认在客户端禁用,在服务器上启用。

      Java 7 release notes 也说:

      客户端默认禁用 SSLv2Hello:在 Java SE 7 中,SSLv2Hello 已从客户端默认启用的协议列表中删除。

      您可能使用的是较旧的 JRE,或者出于某种原因,SSLv2Hello 已在您的客户端上显式启用。

      【讨论】:

      • 是否有可以启用 SSLv2Hello 的 tomcat 版本,或者如何在 Tomcat 7 或 8 中启用它?
      • 一般默认开启。您是否检查过您的客户端确实在发送 SSLv2Hello(不是真正的 SSLv2 Client Hello)?例如,您应该能够使用 Wireshark 看到这一点。
      【解决方案3】:

      将 -Dweblogic.security.SSL.minimumProtocolVersion=TLSv0 设置为 java 选项,会将最低协议设置为 SSLV3,并将消除 SSLV2 的使用。 这对我有用。

      TLSv0 无效,WebLogic 12.1.3 将 SSLV3 设置为最低。

      【讨论】:

        【解决方案4】:

        您在 WebLogic 中使用的 Java 版本是什么?

        TLS 1.1 可在Java 1.6 Update 111 获得。这可能是它不起作用的原因。使用TLSv1 作为值

        【讨论】:

          猜你喜欢
          • 2014-12-31
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2017-10-23
          • 2011-05-30
          • 1970-01-01
          • 1970-01-01
          • 2014-05-12
          相关资源
          最近更新 更多