2

我正在开发一个 iPhone/Android 应用程序。有一天,我注意到其中一部 Android 手机拒绝向存在证书问题的服务器执行 http 请求。响应正文很简单,“不受信任的服务器证书”。我在一些文章中看到过这个错误信息。问题是,这只发生在某些Android 手机上,而不是全部。所以我想知道:

  1. 这是可以在手机上打开和关闭的用户偏好(类似于“拒绝与证书问题的服务器交谈”)吗?如果是这样,我在哪里可以找到它?默认情况下是打开还是关闭?
  2. 如果这只是在某些 Android 手机上强制执行的功能,那么市场上有多少百分比的 Android 手机具有此功能?
4

1 回答 1

0

在任何 android 版本中,我都不知道您所要求的设置。我希望大多数应用程序使用默认的 HTTPS 处理程序。

不受信任的服务器证书可能是该证书不在该设备的密钥库中。如果使用 Apache HttpClient 而不是 HTTPUrlConnection,则可能会以不同方式处理此错误。可能是系统只是拒绝连接,因为它无法验证服务器的有效性。

不同的 android 版本在 keystore 中有不同的证书。似乎随着 android 版本的发布,最新的证书被放入该版本的密钥库中。它可能是早期版本的 android,没有您要查找的证书。

大多数 android 设备 (~45%) 都在运行 Gingerbread (android 2.3),它具有较旧的证书列表。紧随其后的是较新的 android 4.0(冰淇淋和更高版本),它具有更简单的下载和安装服务器证书的方法。

于 2013-03-12T16:09:45.127 回答