我们有一个需要转到TLS 1.0的Weblogic 10.3.6实例。我们有一个网页和一个连接到它的.Net Compact Framework 3.5应用程序。
当它设置为默认值时,一切正常。当我们将weblogic.security.SSL.ProtocolVersion设置为TLS1时,我们开始遇到.Net应用程序的问题。浏览器仍然有效,但在我们禁用“使用SSL 2.0兼容的ClientHello格式”设置之前,嵌入式Java小程序将无法连接。
当我们尝试连接.Net应用程序时,我们收到握手错误“System.Net.WebException:无法为SSL / TLS建立安全通道---> System.Net.WebException:握手失败,请参阅内在的例外。“
在应用程序服务器日志中,我们收到以下错误“Caught sslException:javax.net.ssl.SSLHandshakeException:禁用SSLv2Hello,为isMessageComplete返回false”。
不幸的是,因为我们正在使用Compact Framework,所以我无法指定SSLProtocol。
我们的Java applet出现了同样的错误,直到我们关闭了“SSL 2.0兼容的clienthello格式”,这让我相信如果我们能够启用ClientHello格式,但是保持最低协议版本为TLS 1.0,它应该符合我们的要求。
这是我们的启动参数: $ {JAVA_HOME} / bin / java $ {JAVA_VM} $ {MEM_ARGS} -Dweblogic.Name = $ {SERVER_NAME} -Djava.security.policy = $ {WL_HOME} /server/lib/weblogic.policy -Dsun.security.ssl .allowUnsafeRenegotiation = true -Dsun.security.ssl.allowLegacyHelloMessages = true -Dweblogic.security.SSL.protocolVersion = TLS1 -Dweblogic.security.SSL.nojce = true $ {JAVA_OPTIONS} $ {PROXY_SETTINGS} $ {SERVER_CLASS}