2016-05-17 57 views
6

我已經爲我的服務器生成了自簽名證書。 然後使用設置 - >安全 - >安裝將它添加到Android。如何信任Android上的自簽名證書?

當我試圖與應用我收到提示連接到服務器:

java.security.cert.CertPathValidatorException: Trust anchor for certification path not found. 

我的理解後,我已經添加了證書信任它應該工作的罰款與我的服務器或也許我錯過了什麼? 這個想法是通過Android系統添加證書,不要更改應用程序代碼。

btw我正在使用OkHttpClient進行網絡連接。也許我應該爲https連接啓用一些東西?

+0

可能的重複: http://stackoverflow.com/questions/25509296/trusting-all-certificates-with-okhttp – shilch

+2

不,它不是。我不想相信所有證書... –

+0

您是否導入了CA證書? – shilch

回答

2

對於Android來說,當您生成自簽名證書時,將其標記爲認證代理機構以授權其對證書進行認證是非常重要的 - 即使只是爲了自己簽名並證明其本身。

這是在basicConstraints擴展中完成的,聲明CA:TRUE而不是默認的CA:FALSE。當您導入如此標記的證書時,Android會將其視爲用戶安裝的根證書,並且您應該能夠在憑證存儲中看到它>可信憑證>用戶

但是,具有此位的證書具有強大的威力,並且這些證書已被惡意工具用於窺探過去所謂的加密用戶通信。因此,這些天,當這種CA證書生效時,Google Play Protect將要與用戶說一句話。

+0

謝謝。你釘了它! – Zectbumo

相關問題