解決Volley的javax.net.ssl.SSLHandshakeException異常

問題復現步驟

在我開發的應用中,獲取數據的協議是通過https.因爲我們這邊的證書都是經過CA認證的,所以不需要對Volley進行額外的自簽名證書配置.

但是,今天測試同學突然找到我,說網絡請求不通,API接口獲取不到數據了.嚇得我趕緊用AS build一個debug版本,安裝在自己的機器上是ok的,但是去測試同學那邊莫名其妙的就跪了.幸好是debug版本,從log裏我發現了下面的異常信息:

com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: com.android.org.bouncycastle.jce.exception.ExtCertPathValidatorException: Could not validate certificate: Certificate not valid until Thu Oct 31 08:00:00 GMT+08:00 2013 (compared to Sun Jan 01 08:31:09 GMT+08:00 2012)

問題解決

開始我只注意到SSLHandshakeException這個關鍵字,我想我們這邊是CA認證的證書啊,怎麼還會有證書認證問題呢.後來靜下心,仔細看了全部的出錯信息,發現:

Certificate not valid until Thu Oct 31 08:00:00 GMT+08:00 2013 (compared to Sun Jan 01 08:31:09 GMT+08:00 2012)

提示證書2013年10月31號就過期了,後來Google了一下,發現果然有人說是由於手機本地的時間設置錯誤導致的問題,我一看測試同學手機,時間還是2012年,難怪提示證書出錯.

趕緊讓測試同學同步了手機時間,哈哈,接口又再次暢通了.

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章