android - 需要有关 Android 上的 "Not trusted server certificate"错误的更多信息

标签 android ssl

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

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

最佳答案

据我所知,在任何 Android 版本中都没有针对您所要求的设置。我希望大多数应用程序使用默认的 HTTPS 处理程序。

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

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

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

关于android - 需要有关 Android 上的 "Not trusted server certificate"错误的更多信息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14214376/

相关文章:

ssl - 如何在没有 Cpanel 访问权限的情况下在 Apache 上手动安装 SSL 证书?

android - 检测不安全的 wifi 网络是否真的可以访问互联网

android - 选择日期范围内的元素

android - 如何创建仍然允许触摸其边界外的 native 控件的 float 可触摸 Activity ?

android - 如何使用 FirebaseRecyclerViewAdapter 在扁平结构 Firebase 中导航

php - nginx 从 https 排除路径

android - 用红色替换位图中的黑色

ruby-on-rails - nginx 只向 unicorn 发送 GET 请求

ssl - 什么可以防止伪造的 ssl 证书链

ruby-on-rails - 在 jboss 7 中配置 SSL