我有一个运行 Weblogic Server(运行版本 10.3.6)和 2 个节点的虚拟机。我的主机上还有一个运行 SSL Web 服务的 Tomcat 服务器,Weblogic Server 必须连接到该服务。我在启动下的“Arguments”文本区添加了两个启动参数:
-Dweblogic.security.SSL.protocolVersion=TLSv1.1
-Dweblogic.security.SSL.minimumProtocolVersion=TLSv1.1
我添加这些是因为节点之前尝试使用 SSLv2 进行连接,并导致与 Tomcat 的握手错误。
添加这些参数后,我仍然看到节点尝试使用 SSLv2 连接到 Tomcat。我试图让它使用 TLS。我还能做些什么来让它使用 TLS?
最佳答案
您可能没有使用 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)说:
Note: As part of disabling SSLv3, some servers have also disabled SSLv2Hello, which means communications with SSLv2Hello-active clients (e.g. JDK 1.5/6) will fail. Starting with JDK 7, SSLv2Hello default to disabled on clients, enabled on servers.
SSLv2Hello disabled by default on the client: In Java SE 7, SSLv2Hello is removed from the default enabled protocol list on the client.
您可能正在使用较旧的 JRE,或者出于某种原因,SSLv2Hello 已在您的客户端上明确启用。
关于java - 修改 Weblogic Server 以使用 TLS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32016744/