无法从 Worklight HTTP Adapter 访问在 TLS1.2 上配置的 WebService
Posted
技术标签:
【中文标题】无法从 Worklight HTTP Adapter 访问在 TLS1.2 上配置的 WebService【英文标题】:Cannot access WebService configured on TLS1.2 from Worklight HTTP Adapter 【发布时间】:2018-01-12 13:56:31 【问题描述】:我正在尝试通过 HTTP 适配器从 IBM Worklight 6.1 应用服务器访问第 3 方 SOAP 服务(securedSOAPService)。
以下是HTTP Adapter的adapter.xml的配置,
<?xml version="1.0" encoding="UTF-8"?>
<wl:adapter xmlns:wl="http://www.worklight.com/integration" xmlns:http="http://www.worklight.com/integration/http" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" name="demoAdapter">
<displayName>demoAdapter</displayName>
<description />
<connectivity>
<connectionPolicy xsi:type="http:HTTPConnectionPolicyType">
<protocol>https</protocol>
<domain>mydomain.com</domain>
<port>8080</port>
</connectionPolicy>
<loadConstraints maxConcurrentConnectionsPerNode="2" />
</connectivity>
<procedure name="securedSOAPService" />
</wl:adapter>
以下是观察结果:
当服务“securedSOAPService”配置了 TLS1.2 时,服务返回“javax.net.ssl.SSLPeerUnverifiedException: peer not authenticated”。
当我们将服务更改为使用 TLS1.0 时,它工作正常。
我想在 TLS1.2 上配置 Service 时启用 HTTP 适配器。
注意:未在 Worklight 服务器上配置 SSL。
【问题讨论】:
您的应用程序服务器(MFP 所在的服务器)似乎正在使用 TLS 1.0 发起呼叫?是您的服务器没有启用 TLS 1.2 吗?检查应用服务器的 SSL QoS 设置。 我们尚未在此服务器上启用 SSL 配置。我想在不启用 SSL 的情况下启用 TLS 1.2,可以这样做吗? 我认为您的客户端到服务器的连接不是通过 SSL,而是 MFP 服务器到后端是。 TLS 是一种用于安全通信的加密协议。 我明白你的意思 Vivin。我会检查服务器的 QoS 策略。 我已经更新了 QoS 策略,并使用此 link 在注册表中添加了 TLS1.2,但我仍然无法发出有效的 TLS1.2 服务请求。 【参考方案1】:最后,我们找到了一种适用于较新协议(即 TLSv1.1、TLSv1.2)的有限密码的解决方案,
-
将 JAVA 更新到 1.7.0_80(或更高版本)。
从 Java 配置启用 TLS 1.1 和 TLS 1.2 支持。
更改server.xml中TLSv1.2的配置(link)
在 TLSv1.2 的 jvm.options 中添加了配置以与更高的协议建立连接。
添加了第三方库“BouncyCastle”以启用 DH 密钥对。
更改 java.security 中的配置为 BouncyCastle 添加条目。
重启服务器。
注意:这仅适用于有限密码。最佳做法是使用较新版本的 java。
非常感谢Mohammed Ashfaq 的帮助!
【讨论】:
以上是关于无法从 Worklight HTTP Adapter 访问在 TLS1.2 上配置的 WebService的主要内容,如果未能解决你的问题,请参考以下文章
在 Worklight 6.2、6.3 中无法获得 HTTP 响应
无法通过 Android 设备中的 Worklight http 适配器连接到后端
IBM Worklight 6.0 - 使用 Web 服务的混合应用程序无法在实际设备上运行?