2012-02-28 71 views
1

簡單代碼javax.net.ssl.SSLPeerUnverifiedException:同行未被認證

public class Demo { 
public static void main(String[] args) { 
    HttpClient httpclient = new DefaultHttpClient(); 
    try { 
     HttpGet httpget = new HttpGet("https://banweb.cityu.edu.hk/"); 
     HttpResponse response = httpclient.execute(httpget); 
    } catch (Exception e) { 
     e.printStackTrace(); 
    }  
} 
} 

我有2個桌面(A和B),筆記本電腦2(A和B),3個機器人設備(A,B和C )和3個android模擬器(SDK v2.1,v4.0和v4.03)。當上面的代碼在桌面A,Android模擬器v4.0和v4.0.3中運行時,它會拋出「javax.net.ssl.SSLPeerUnverifiedException:未通過身份驗證」。但是代碼在其他設備和仿真器中工作正常。

誰能告訴我爲什麼相同的代碼在不同的機器上顯示不同的結果?

您的幫助表示讚賞。

回答

0

這可能是一臺機器在代理之後,另一臺機器不在?

+0

如果在代理之後,意味着它可能是由代理引起的?例如,我的問題在https://stackoverflow.com/questions/44149109/can-proxy-server-grouping-incoming-network – 2017-06-02 03:02:10

3

看到這條消息後:SSL "Peer Not Authenticated" error with HttpClient 4.1

我認爲這個問題是關係到機器/環境,您使用的是否有權訪問系統範圍的根證書。如果操作系統較新,它可能會識別(並驗證/信任?)您的簽名證書。但是,如果JRE/JDK不知道根CA存儲,則可能無法工作。

我有一個基本的應用程序在Netbeans中工作,但不是在部署了JavaFX項目之後。我已將我的根證書添加到密鑰存儲區,但仍無法使用。

相關問題