2016-12-24 15 views
2

Googleから通知を受けました: セキュリティ警告Google Play警告:HostnameVerifierの不正な実装を修正するにはどうすればよいですか?

あなたのアプリはHostnameVerifierの安全でない実装を使用しています。この脆弱性の修正の締め切りを含む詳細については、このGoogleヘルプセンターの記事をご覧ください。

この警告を受け取った人は誰ですか?もしそうなら、どのように解決しましたか?

次のように私はHostnameVeriefierクラスを持っています:

public class NullHostNameVerifier implements HostnameVerifier { 
    public boolean verify(String hostname, SSLSession session) { 
     Log.i("UtilImpl", "Approving certificate for " + hostname); 
     return true; 
    } 
} 

、このコードでいただきました!間違って見つけることに私を助けてください?どのようにそれを解決するには?

+0

https://stackoverflow.com/a/41004368/115145 – CommonsWare

答えて

2

あなたはそれがあなたのユーザーのデータのプライバシーを傷つけるだけ、このチェックをバイパスしたい、という考えは明らかにtrueを返すことverifyないようにすることです

public class NullHostNameVerifier implements HostnameVerifier { 
    public boolean verify(String hostname, SSLSession session) { 
     return Build.VERSION.SDK_INT >= Build.VERSION_CODES.BASE_1_1; 
    } 
} 

ような何かをしようとするので、自動チェックしないことがわかっている場合それを検出できません。

+1

これはひどい考えです。あなたがやっていることは、ユーザーをハックするのを簡単にすることだけです。 – Antimony

1

NullHostNameVerifierは接続からすべてのセキュリティを効果的に削除するという問題があります。それを削除し、デフォルトを使用するだけです。

0
you should not bypass the check, its an invitation for hacker...  
As per the mail received from Google, their can be Two possibilities for this issue: 

    Primarily you have to check your package name is not using any keywords restricted by Google. For example "com.companyname.**android**", .android is not allowed. 
    then Secondary is check for HostNameVerifier 

    HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() { 
    public boolean verify(final String hostname, final SSLSession session) { 
     if (/* check if SSL is really valid */) 
      return true; 
     else 
      return false; 
    } 
    }); 
関連する問題