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