Android之javax.net.ssl.SSLPeerUnverifiedException: Hostname ip not verified:解决办法
1、問題
用HttpURLConnection去請(qǐng)求的時(shí)候拋了下面的異常
HttpRequest$HttpRequestException: javax.net.ssl.SSLPeerUnverifiedException: Hostname ip not verified:
2、分析和解決
從異常來看是因?yàn)镾SL協(xié)議握手的過程中,這個(gè)服務(wù)度地址的證書沒有被證實(shí),被信任。
client使用一個(gè)不同的TrustManager。TrustManager(http://download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/api/javax/net/ssl/TrustManager.html)是一個(gè)檢查給定的證書是否有效的類。SSL使用的模式是X.509(http://en.wikipedia.org/wiki/X.509),對(duì)于該模式Java有一個(gè)特定的TrustManager,稱為X509TrustManager。首先我們需要?jiǎng)?chuàng)建這樣的TrustManager。
TrustManager只是被SSL的Socket所使用。Socket通過SocketFactory創(chuàng)建。對(duì)于SSL Socket,有一個(gè)SSLSocketFactory(http://download.oracle.com/docs/cd/E17476_01/javase/1.5.0/docs/api/javax/net/ssl/SSLSocketFactory.html)。當(dāng)創(chuàng)建新的SSLSocketFactory時(shí),你需要傳入SSLContext到它的構(gòu)造方法中。在SSLContext中,我們將包含我們新創(chuàng)建的TrustManager,首先我們需要得到一個(gè)SSLCon
總結(jié)
以上是生活随笔為你收集整理的Android之javax.net.ssl.SSLPeerUnverifiedException: Hostname ip not verified:解决办法的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java之DocumentBuilder
- 下一篇: Android下载apk异常java.n