IBM Worklight 5.0.6:直接更新 - SSLHandshakeException

时间:2013-10-31 13:43:51

标签: ibm-mobilefirst worklight-server

我的应用通过自签名证书通过HTTPS连接到Worklight服务器。该应用程序可以成功启动。

然而,当有直接更新从Worklight服务器开始下载文件时,它失败了,我可以看到有关于未找到证书路径的错误消息。

我是否知道SSLHandshakeException和直接更新错误是否相关? 谢谢!

(环境:Worklight 5.0.6.1,WAS ND 8.5,测试设备:HTC One)

10-31 21:24:50.897: W/System.err(28746): Catch exception while startHandshake: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
10-31 21:24:50.897: W/System.err(28746): return an invalid session with invalid cipher suite of SSL_NULL_WITH_NULL_NULL
10-31 21:24:50.927: E/WLDroidGap(28746): Failed downloading application update file.

2 个答案:

答案 0 :(得分:2)

是的,使用直接更新和SSL握手错误是相关的。 Android不允许您使用自签名证书(除非您以某种方式绕过SSL)。由于您无法在Android的信任库中安装自签名证书,因此Android客户端无法为服务器的自签名证书建立信任。

您可能在Android清单文件中指定了以下标志:

android:debuggable="true"

此标志在通过混合通道时禁用SSL验证,可能是您之前未看到SSL错误的原因。直接更新在不同级别处理,此标志不适用,因此确实会进行SSL验证。

您应该使用自签名CA证书代替开发/测试目的。请参阅以下有关如何生成自签名CA的答案: https://stackoverflow.com/a/19841469/2494287

答案 1 :(得分:1)

直接更新不适用于自签名证书。它旨在用于生产,因此它只接受有效的CA证书。