2012-02-28 74 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项目之后。我已将我的根证书添加到密钥存储区,但仍无法使用。

相关问题