当前位置: 首页 > 知识库问答 >
问题:

如何修复X509TrustManager在Android应用程序中的不安全实现

朱兴学
2023-03-14

Google建议我在Android应用程序中有一个不安全的X509TrustManager接口实现,需要更改代码如下:

若要正确处理SSL证书验证,请更改自定义X509TrustManager接口的checkServerTrusted方法中的代码,以便在服务器提供的证书不符合预期时引发CertificateException或IllegalArgumentException。对于技术问题,您可以post to Stack Overflow并使用标记“Android-Security”和“TrustManager”。

public EasySSLSocketFactory(KeyStore truststore) throws NoSuchAlgorithmException, KeyManagementException, KeyStoreException, UnrecoverableKeyException {
    super(truststore);

    TrustManager tm = new X509TrustManager()  {
        public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
        }

        public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
        }

        public X509Certificate[] getAcceptedIssuers() {
            return null;
        }
    };

    mContext.init(null, new TrustManager[] { tm }, null);
}

共有1个答案

易阳朔
2023-03-14

我使用以下代码解决了这个问题:

public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                try {
                    chain[0].checkValidity();
                } catch (Exception e) {
                    throw new CertificateException("Certificate not valid or trusted.");
                }
            }
 类似资料:
  • 我的应用程序在Google Play中被拒绝了,因为TrustManager的一些不安全的实现。 但是在我的库中,我只有TrustManager的一个实现(这是我的SSLUtil类)。 我不明白为什么我的申请被拒绝了。

  • 谷歌正在取消不太安全的应用程序访问功能。我正在为我的网站的联系人页面使用smtp电子邮件服务。但在2022年5月30日之后,这项服务可能无法工作。 有没有其他方法可以让第三方不太安全的应用程序访问我的Gmail帐户。。? 应用程序密码能解决这个问题吗...?我怀疑设置应用程序密码也不会提供访问权限,因为谷歌表示这可能不适用于不太安全的应用程序。 那么有什么方法可以解决这个问题,以便smtp电子邮件

  • 问题内容: 嗨,我正在尝试使用gcm,但无法使其正常工作。不知道我在哪里弄乱,下面是我得到的错误。我试图将我的应用程序直接部署在设备上并从那里进行调试,但是每当我尝试部署它时,都会出现此错误 AndroidManifest.xml 我的设备是HTC OneX Android版本:4.03 HTC Sense版本:4.0 软件编号:1.29.110.11 HTC SDK API等级:4.12 HTC

  • 问题内容: 我在Google Play中有一个应用,我收到了来自Google的邮件,内容是: 此电子邮件末尾列出的您的应用使用了X509TrustManager界面的不安全实现。具体而言,在与远程主机建立HTTPS连接时,该实现会忽略所有SSL证书验证错误,从而使您的应用容易受到中间人攻击。 为了正确处理SSL证书验证,只要服务器提供的证书不符合您的期望,请在自定义X509TrustManager

  • 本文向大家介绍如何在Spring Boot应用程序中实现Spring安全性?相关面试题,主要包含被问及如何在Spring Boot应用程序中实现Spring安全性?时的应答技巧和注意事项,需要的朋友参考一下 实施需要最少的配置。您需要做的就是spring-boot-starter-security在pom.xml文件中添加starter。您还需要创建一个Spring配置类,它将覆盖所需的方法,同时

  • 本文向大家介绍如何实现 Spring Boot 应用程序的安全性?相关面试题,主要包含被问及如何实现 Spring Boot 应用程序的安全性?时的应答技巧和注意事项,需要的朋友参考一下 为了实现 Spring Boot 的安全性,我们使用 spring-boot-starter-security 依赖项,并且必须添加安全配置。它只需要很少的代码。配置类将必须扩展 WebSecurityConfi