2016-09-30 7 views
0

アプリ以外のどこからでもアプリのURLを呼び出す方法を見つけようとしていますが、アプリが無効で、okhttp3を使用しています。私は値必要なときにアプリキーハッシュが生成され、決して無効なリクエストからアンドロイドアプリURLを保護する

try { 
    PackageInfo info =  getPackageManager().getPackageInfo("MY PACKAGE NAME",  PackageManager.GET_SIGNATURES); 
    for (android.content.pm.Signature signature : info.signatures) { 
     MessageDigest md = MessageDigest.getInstance("SHA"); 
     md.update(signature.toByteArray()); 
     String sign=Base64.encodeToString(md.digest(), Base64.DEFAULT); 
     Log.e("MY KEY HASH:", sign); 
     // Toast.makeText(getApplicationContext(),sign,  Toast.LENGTH_LONG).show(); 
    } 
} catch (NameNotFoundException e) { 
} catch (NoSuchAlgorithmException e) { 
} 

をこのように使用してログインしているユーザーエージェントを持っている私のヘッダー要求では、送信されたすべての要求のために、私はどうか、ユーザー・エージェントの値の一致を確認しています私のサーバー上のもの(キーストア+署名されたapkから生成された)その上、データはすべてPOSTであり、URLはすべてhttpsです。

私の主な関心事は、誰かがapkから抽出アプリの鍵ハッシュを取得できますか? xted、メモリダンプを使用しているパワーユーザーの場合でも、e.t.c

これで十分ですか?

答えて

1

パワーユーザーが必要な値を抽出するのを止めることはできません。どのくらいの時間(分、時間、日)かという問題です。

提示された解決策は本当に簡単です。私は、XposedやMan-in-the-middleプロキシを使用して制動を行うことを想定しています。ほんの数分です。

本当にセキュリティが必要な場合は、SSL/TLS証明書のピン設定を使用して、良いAndroid hardingフレームワーク(通常はコストがかかります)を使用する必要があります。

関連する問題