2013-10-31 120 views
0

我的应用程序通过自签名证书通过HTTPS连接到Worklight服务器。该应用可以成功启动。IBM Worklight 5.0.6:直接更新 - SSLHandshakeException

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

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

(环境:工作灯5.0.6.1,WAS ND 8.5,测试设备:HTC一)

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

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

你可能在你的Android清单文件中指定以下标志:会通的混合渠道和可能,为什么你没有看到SSL错误较早的原因,当

android:debuggable="true" 

此标志禁用SSL验证。直接更新在不同级别处理,其中此标志不适用,因此SSL验证确实发生。

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

1

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

相关问题