0

Play ストアでアプリを公開したのはこれが初めてで、アプリが拒否されました。

これはグーグルプレイからのメッセージです:

TrustManager の安全でない実装を含むアプリを修正する方法。...

SSL 証明書の検証を適切に処理するには、カスタム X509TrustManager インターフェースの checkServerTrusted メソッドのコードを変更して、サーバーによって提示された証明書が期待どおりでない場合は常に CertificateException または IllegalArgumentException のいずれかを発生させます。

これは私のカスタム TrustManager です:

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();
            }
        }};

複数の実装を試しましたが、アプリは常に拒否されます。

問題を手伝うか提案してください。

4

1 に答える 1

0

解決策が見つかりました。Google から、Flurry Agent に問題があるというメールが届きました。Flurry Agent.strong テキストのすべてのインスタンスを削除する必要があります。

于 2016-06-22T14:20:36.757 に答える