【问题标题】:IBM Worklight 5.0.6: Direct Update - SSLHandshakeExceptionIBM Worklight 5.0.6:直接更新 - SSLHandshakeException
【发布时间】:2013-10-31 13:43:50
【问题描述】:

我的应用程序通过自签名证书通过 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.

【问题讨论】:

    标签: ibm-mobilefirst worklight-server


    【解决方案1】:

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

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

    android:debuggable="true"
    

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

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

    【讨论】:

      【解决方案2】:

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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2013-08-03
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多