1
私はFintech製品用のアンドロイドライブラリを開発しています。 AARファイルの使用を認証されたユーザーに限定したいと考えています。 各クライアントのアクセスキーによるサーバー検証があります。 他のクライアント側の検証はありますか? 私のライブラリを保護する最良のメカニズムは何ですか?Androidライブラリを保護する
私はFintech製品用のアンドロイドライブラリを開発しています。 AARファイルの使用を認証されたユーザーに限定したいと考えています。 各クライアントのアクセスキーによるサーバー検証があります。 他のクライアント側の検証はありますか? 私のライブラリを保護する最良のメカニズムは何ですか?Androidライブラリを保護する
最高の解決策は、サーバー側で署名のホスティングアプリケーションとハッシュキーのパッケージ名を検証することです。
SDKのパラメータとしてハッシュキーを使用しないでください。SDKが実行時にそれを読み取り、それをサーバーに渡すようにします。
public String getCertificateHash(Context context) {
String hashKey = "";
try {
PackageInfo info = context.getPackageManager().getPackageInfo(context.getPackageName(), PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
hashKey = Base64.encodeToString(md.digest(), Base64.DEFAULT);
}
} catch (PackageManager.NameNotFoundException e) {
LogUtil.printObject(e);
} catch (NoSuchAlgorithmException e) {
LogUtil.printObject(e);
}
return hashKey.trim();
}
ソリューションを見つけましたか? – user4757345
はい、回答として投稿してください – MohanRaj