【问题标题】:Android and extra validation of certificatesAndroid 和额外的证书验证
【发布时间】:2011-11-17 00:46:22
【问题描述】:

我想对我在 Android 应用中建立的 SSL 连接执行额外的验证。 基本上我需要能够:

  • 查看我连接的远程主机的证书是否具有扩展验证 (EV) 状态
  • 找出远端证书的根证书颁发机构。例如。我想知道它是否是 VeriSign 证书。

为了详细说明,我正在编写一个需要高级别的安全性的客户端,我们的组织正在所有服务器上使用来自 VeriSign 的 EV 证书。我想防止任何受损的证书颁发机构,或者任何可以欺骗证书颁发机构为我们的域伪造证书的人都能够劫持应用程序。

这可行吗?如果可行,如何实现?有没有办法从URLConnection对象或HTTPClient对象等获取有关远程端证书的更多信息?

【问题讨论】:

    标签: android ssl-certificate


    【解决方案1】:

    首先:您不可能“防止任何受损的证书颁发机构”为您的域颁发证书。如果它受到损害,他们可以发布他们想要的任何东西。您可以做的是创建一个信任库,其中包含有限数量的受信任 CA 证书,例如只有 VeriSign。这样,即使相关的 CA 遭到破坏并为您的域颁发证书,这也没有关系,因为您一开始就不信任它。这也将照顾第二颗子弹。要进行其他检查,您需要实施并安装您自己的X509TrustManager。详情请查看JSSE reference guide

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2016-06-30
      • 2016-05-24
      • 1970-01-01
      • 2021-11-11
      • 1970-01-01
      • 1970-01-01
      • 2015-11-19
      相关资源
      最近更新 更多