【问题标题】:"No peer certificate" android application“无对等证书”android 应用程序
【发布时间】:2011-12-04 19:38:40
【问题描述】:

我正在开发适用于 android 设备的应用程序 (2.2)。 我正在尝试获取一个 html 页面。我使用的 java 代码似乎可以工作,所以我可以获得我想要的页面,但有时应用程序崩溃并且我得到异常:“没有对等证书”。发生这种情况时,如果我等待一小时或更改网络,它会正常工作。有人知道如何解决这个问题吗? 该网站是https://stud.infostud.uniroma1.it/Sest/Log/

我的英语真的很抱歉,希望你能理解!

【问题讨论】:

标签: android ssl httpconnection


【解决方案1】:

当我收到该异常时,是因为我的手机日期设置不正确。我刚刚切换回使用网络提供的日期,一切正常。

【讨论】:

  • 确认:当我的平板电脑的日期重置为 2002 年 1 月的某一天时,我无法使用 Play 商店或 Gmail 客户端连接到互联网(但浏览器可以连接到互联网)。日志会说:01-02 11:12:41.760: E/Gmail(995): IOException: com.android.org.bouncycastle.jce.exception.ExtCert PathValidatorException: 无法验证证书:当前时间:Fri Jan 02 11 :12:41 HNEC 1970,验证时间:Mon Jun 08 22:43:27 HNEC 2009。将日期/时间更改为正确的,解决了问题。
【解决方案2】:

在进行网络调用之前尝试放置:

System.setProperty("http.keepAlive", "false");

听起来您遇到了一个已知问题,该问题会导致 Android 在尝试巧妙连接时出现故障。如果这不起作用,请检查here

【讨论】:

  • 你手边有2.3的设备吗(可以试试模拟器)。如果可行,则证书存在问题 - Android 2.2 或更早版本不信任许多 CA
  • 我已经尝试过其他版本(2.3 也是)...同样的问题。当我遇到问题时,我尝试连接手机浏览器,但我遇到了同样的异常。用我的笔记本电脑一切正常。
  • 我现在才注意到:服务器使用 256 位加密和 AES_256_CBC SHA1 进行身份验证消息,并使用 RSA 进行密钥交换......而且,服务器使用 TLS 1.0!可能是这个问题吗?我该如何解决?非常感谢! ;)
猜你喜欢
  • 2018-07-20
  • 2012-02-07
  • 1970-01-01
  • 2015-11-21
  • 2015-07-25
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-10-15
相关资源
最近更新 更多