Worklight 适配器找不到证书链

Posted

技术标签:

【中文标题】Worklight 适配器找不到证书链【英文标题】:Worklight Adapter Unable to find certificate chain 【发布时间】:2014-06-04 19:18:49 【问题描述】:

我有一个带有适配器的工作灯项目,该适配器通过 HTTPS 连接到 SOAP 服务。此服务需要证书。我在 p12 文件中收到了来自服务器的证书,我已将此证书添加到我在 worklight 中的 default.keystore 中。我在 adapter.xml 中添加了 sslCertificateAllias。当我运行适配器时,我收到一条错误消息,说它无法找到证书链。

错误


   "errors": [
      "Runtime: FWLSE0152E: Unable to find certificate chain with alias: 'MyAlias' [project OhPleaseWork]"
   ],
   "info": [
   ],
   "isSuccessful": false,
   "warnings": [
   ]

适配器.xml

    <sslCertificateAlias>MyAlias</sslCertificateAlias> 
    <sslCertificatePassword>changeit</sslCertificatePassword>

密钥库与属性文件一起位于 server/conf 中。我在密钥库上运行了 keytool -list 并列出了别名。服务器文件特定于每个应用程序,我是否缺少将其添加到“Worklight Development Server”的内容。谢谢你的帮助!

【问题讨论】:

您是在使用自己的自定义证书颁发机构 (CA),还是知道您的证书是否由中间 CA 签名? 【参考方案1】:

只有在相互 SSL 连接的情况下,您才需要定义 sslCertificateAllias,在您的场景中,您只有一种方式的 SSL 连接,因此您不需要为您的适配器定义 sslCertificateAllias,只需在适配器 XML 中删除或注释掉它。 Morover,请确保您使用 SSL 工具(如 open SSL)收到后端 SOAP 服务器证书,而不是通过浏览器(如 mozilla 等)。

【讨论】:

以上是关于Worklight 适配器找不到证书链的主要内容,如果未能解决你的问题,请参考以下文章

如何调试 IBM Worklight 适配器

在 Worklight 平台中找不到 com.mysql.jdbc.Driver 或项目错误

IBM Worklight Server 6.1 - 到后端的适配器 - javax.net.ssl.SSLException:证书中的主机名不匹配

基于 Java 的适配器 - 找不到返回值

IBM Worklight 6.0 - 如何在适配器中启用/查看 WL.Logger.debug?

使用 Apple Watch 时 Worklight 6.3 锁定的钥匙串