2013-10-31 81 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證書。

相關問題