0

異なる証明書A-certificateとB-certificateを持っていて、3つのアプリに署名するとします(1つはAで、2つはBで)

証明書Bで署名されたフォームアプリケーションが他のアプリもBで署名されている(Aではない)ことを確認するにはどうすればよいですか?

一部のアプリが他のアプリと同じ証明書で署名されているかどうかをプログラムでチェックする方法が必要です

メソッドスタブは次のようになります

public boolean sameCertificate(String packagename1,String packagename2){
//some comparison
//return true/false
}
4

2 に答える 2

1
public boolean sameCertificate(Context context, String packageName1, String packageName2) {
    return context.getPackageManager().checkSignatures(packageName1, packageName2) == PackageManager
            .SIGNATURE_MATCH;
}
于 2015-05-18T14:38:16.340 に答える
-2

最も簡単な方法は、自分自身をチェックする必要さえないことです。マニフェストでこれらのアプリの両方に同じ共有ユーザーIDを指定するだけです。そうすれば、Androidはそれらが同じように署名されなければならないことを強制します。

手動によるアプローチが必要な場合は、PackageManagerを使用してアプリケーションの署名を取得できます。APK署名署名を取得する方法は?詳細を表示します。

于 2013-03-27T11:04:52.480 に答える