'没有同行证书'例外,但仅限于移动数据

时间:2014-10-11 18:53:26

标签: java android ssl

我怎么可能得到'javax.net.ssl.SSLPeerUnverifiedException:No peer certificate'异常,但仅限于Mobile Data。当连接WiFi时,它可以正常工作。

我的设备正在运行CM 11 M10。 证书由StartCom发布。

这是我的代码:

DefaultHttpClient httpClient = new DefaultHttpClient();
HttpGet httpGet = new HttpGet("https://" + hostName + ":8080");

HttpResponse httpResponse;
try
{
    httpResponse = httpClient.execute(httpGet); // this throw 'javax.net.ssl.SSLPeerUnverifiedException'
}
catch (IOException e)
{
    e.printStackTrace();
    return null;
}

有没有人有想法?

2 个答案:

答案 0 :(得分:0)

  

我如何获得SSLPeerUnverifiedException: No peer certificate' exception,但仅限于移动数据。

这通常有两个原因。

首先,设备上的时钟错误,由于notBeforenotAfter,证书无法验证。上线后,设备可以更新其时钟并验证证书。

其次,运营商通过缓存代理拦截请求。例如,请参阅Death Twitches: Nokia Caught Wiretappin​g Encrypted Traffic From Its Handsets

答案 1 :(得分:0)

我找到了一个解决方案:

我已将听力端口从8080更改为443.它可以正常工作。 但我不能使用端口443,因为IIS通常在这个端口上侦听。

所以我搜索了另一个港口。 我可以将端口更改为 25 587 (均为SMTP),然后才能正常工作。

感谢您的帮助!