我在执行 WmPublic 中可用的 pub.client:soapHTTP 服务时遇到了以下错误。
java.io.IOException: said.security.ssl.SSLException: Peer sent alert: Alert Fatal: 握手失败
经过进一步调查,我发现合作伙伴服务器正在使用 TLSv1.2,我相信 wM 6.5 仅支持 TLS v1.0。这可能是 TLS 版本问题。
我正在使用 webMethods 6.5。受信任的证书 > CA 证书目录未指定,并且我的服务器的 watt.security.cert.wmChainVerifier.trustByDefault 设置为 TRUE。因此,所有的 CA 都应该被信任。
不幸的是,有什么方法可以使这项工作正常进行,因为升级 wM 不是一种选择?
我找到了这个页面(链接 PFB),其中有一个名为 TLS/SSL 握手问题和调试的部分。那里提到了我的握手问题,作为解决方案,它说:
握手失败,因为使用 Entrust IAIK 的集成服务器连接到启用了 TLS 1.2 的服务器。在这种情况下,从 IAIK 更改为 JSSE 选项并设置“watt.net.jsse.client.enabledProtocols=TLSv1.2”
我尝试了上述方法,但没有成功,是的,我在更改配置后重新启动了服务器。此外,它还表示,
对于出站 SSL 连接(即集成服务器充当 SSL 客户端),以下 watt 属性控制协议版本和密码套件:
IAIK:watt.net.ssl.client.handshake.minVersion,watt.net.ssl.client.handshake.maxVersion,watt.net.ssl.client.strongcipheronly,watt.net.ssl.client.cipherSuiteList
JSSE:watt.net.jsse.client.enabledProtocols,watt.net.jsse.client.enabledCipherSuiteList。
但是我没有在 server.cnf 中配置任何这些参数,即使我必须这样做,我也不知道应该使用什么值来配置它们。如果对这种情况有所帮助,我希望得到一些帮助。