2014-09-29 158 views
0

我已經獲得了該域的SSL證書。此外,我還創建了SSL認證的子域,以承載該域中的多個項目。所以,我創建了Web服務,然後我試圖從該服務器獲取詳細信息。堅果它像下面這樣拋出異常。javax.net.ssl.SSLException:證書中的主機名不匹配:在android

09-29 15:03:59.311: W/System.err(26845): javax.net.ssl.SSLException: hostname in certificate didn't match: != <.ipage.com> OR <.ipage.com> OR 
09-29 15:03:59.321: W/System.err(26845): at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:185) 
09-29 15:03:59.321: W/System.err(26845): at org.apache.http.conn.ssl.BrowserCompatHostnameVerifier.verify(BrowserCompatHostnameVerifier.java:54) 
09-29 15:03:59.321: W/System.err(26845): at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:114) 
09-29 15:03:59.321: W/System.err(26845): at org.apache.http.conn.ssl.AbstractVerifier.verify(AbstractVerifier.java:95) 
09-29 15:03:59.321: W/System.err(26845): at org.apache.http.conn.ssl.SSLSocketFactory.createSocket(SSLSocketFactory.java:388) 
09-29 15:03:59.321: W/System.err(26845): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:214) 
09-29 15:03:59.321: W/System.err(26845): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:167) 
09-29 15:03:59.321: W/System.err(26845): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:125) 
09-29 15:03:59.321: W/System.err(26845): at org.apache.http.impl.client.DefaultRequestDirector.executeOriginal(DefaultRequestDirector.java:1227) 
09-29 15:03:59.321: W/System.err(26845): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:677) 
09-29 15:03:59.321: W/System.err(26845): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:570) 
09-29 15:03:59.321: W/System.err(26845): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:491) 
09-29 15:03:59.321: W/System.err(26845): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:469) 
09-29 15:03:59.321: W/System.err(26845): at com.tdzinfo.gamecom.webclient.RequestMethods.callHTTPMethod(RequestMethods.java:38) 
09-29 15:03:59.321: W/System.err(26845): at com.tdzinfo.gamecom.CategoryList$GetProducts.doInBackground(CategoryList.java:74) 
09-29 15:03:59.321: W/System.err(26845): at 

所以,任何人都可以建議我這樣做的解決方案,如果我在該領域使用的子文件夾,我可以爲這個子域的SSL ???

回答

0

SSL證書與主機名相鏈接,如果主機名不同,android會拋出你的javax.net.ssl.SSLException。您必須爲該子域(主機名)生成證書

+0

當我使用主域內的子文件夾時,可以使用相同的證書...... ?? http://example.com/game同樣,我正在使用該文件夾, – AngelJanniee 2014-09-29 09:23:50

+0

在開始是的,你可以使用SSL證書的服務器內的子文件夾。你在你的java代碼中使用了正確的地址嗎? – RdlP 2014-09-29 09:28:13

+0

是的,我使用了正確的代碼,下面是我的代碼http://stackoverflow.com/questions/26094381/javax-net-ssl-sslexception-hostname-in-certificate-didnt-match, 此代碼適用於主要的領域,當我創建子文件夾只有我得到了上述異常。 – AngelJanniee 2014-09-29 09:38:29

相關問題