2014-01-16 86 views
1

我想通過https服務器驗證我的android應用程序。Android:CertPathValidatorException - 找到TrustAnchor,但證書驗證失敗

我嘗試進行身份驗證時出現以下異常。雖然擡起頭來解決方案,大約有約束力的證書與APK,忽略證書驗證等

Detailed StackTrace

的問題是,在幾部電話和模擬器此認證通過HTTPS工作完全正常很多的建議。在我的手機以及我的模擬器中,它都沒有通過。所以看起來更像是一個設備問題而不是代碼一。

有沒有其他人遇到過這樣的問題並整理出來?

回答

0

錯誤的含義是:SSL證書鏈(從服務器證書到根CA存儲中的信任錨)已由應用程序重建,但由於任何原因驗證此鏈失敗。

在堆棧跟蹤中,底層錯誤是java.security.NoSuchProviderException: AndroidOpenSSL。這意味着應用程序嘗試使用不存在於android系統中的加密提供程序實例化簽名驗證對象。這個錯誤讓我覺得它可能是一個Android版本問題。

您能告訴我們用於構建應用程序的目標API級別嗎?那些應用程序工作和不工作的終端版本是什麼?

+0

謝謝。我們的minSDK是8,targetSDK是17.在本地框中編譯的apk在一個模擬器中工作,但不在其他模擬器中。所以看起來像一些RunTimeEnvironment問題。瞭解仿真器/設備中需要注意什麼會很有幫助。這兩個模擬器運行4.3(API 17) – prasann

+0

嗨Jcs,我對上述解釋感興趣。現在我遇到了一個ssl異常問題,但我不知道根本原因是什麼。 http://stackoverflow.com/questions/38438993/android-https-ssl-hand-shake-exception 但是,只有在服務停止並重新啓動後,纔會發生異常。 發現TrustAnchor異常,但證書驗證失敗。我想知道應用程序如何重建並導致證書驗證失敗。 –

+0

在發生的情況:我有一些服務可以完成包括https請求在內的所有後臺任務。但是當用戶註銷時,這些服務將被停止。但該應用程序仍然活着登錄界面。當用戶再次登錄需要做https請求時,在某個時間出現問題。在這種情況下,應用程序必須重新啓動,然後再次罰款。所以我懷疑這是由停止服務引起的,然後一些更改導致此問題。但不知道如何解決它。如果你有一些建議,請讓我知道。非常感謝。 –

相關問題