如何修复包含不安全实现的应用程序,checkservertrusted方法的应用程序



这是我第一次在Play Store上发布应用程序,并且我的应用被拒绝。

这是Google Play的消息:

如何修复包含不安全实现的应用程序的应用程序。...

要正确处理SSL证书验证,请在自定义x509trustmanager接口的checkServerTrusted方法每当有证书置换或违法的exception服务器提供的证书不符合您的期望

这是我的自定义信任者:

public static OkHttpClient getUnsafeOkHttpClient(final X509TrustManager tm) {
    try{
        //Create a trust manager taht does not validate certificate chains
        final TrustManager[] trustAllCerts = new TrustManager[] {new X509TrustManager() {
            @Override
            public void checkClientTrusted(X509Certificate[] chain, String authType) throws CertificateException {
                try{
                    tm.checkClientTrusted(chain, authType);
                }catch (CertificateException ce){}
            }
            @Override
            public void checkServerTrusted(X509Certificate[] chain, String authType) throws CertificateException{
                if(chain == null || chain.length == 0)throw new IllegalArgumentException("certificate is null or empty");
                if(authType == null || authType.length() == 0) throw new IllegalArgumentException("authtype is null or empty");
                if(!authType.equalsIgnoreCase("RSA"))throw new CertificateException("certificate is not trust");
                tm.checkServerTrusted(chain,authType);
            }
            @Override
            public X509Certificate[] getAcceptedIssuers() {
                return tm.getAcceptedIssuers();
            }
        }};

我必须实现chekcservertrusted方法,我尝试了多个实现,但我的应用程序始终被拒绝。

请您提供帮助或提出问题。

我找到了一个解决方案,Google向我发送了一封电子邮件,说Flurry代理是问题所在。有必要删除所有flurry代理的实例。

相关内容

  • 没有找到相关文章

最新更新