さまざまなjarに署名するために使用される公開鍵のMD5ハッシュのライブラリと、さまざまなAPKに署名するために使用するそれぞれのキーストアへのマッピングがあります。私がやりたいのは、試行錯誤をせずに、APKの署名に使用されたキーストアを特定することです。(また、悲しいことに、私たちのキーの多くは類似または同一のDNを共有しています。)
私の解決策は、META-INF / FOO.RSA(またはFOO.DSA)に証明書が含まれていることを知っているため、APKのRSAファイルから証明書を抽出し、MD5ハッシュを直接計算することでした。(実行中のAndroidアプリケーションからアクセスできるため、証明書が存在することはわかっています。jarsignerのドキュメントには、証明書が存在することが示されています。)
しかし、証明書の実際のバイトを提供するツールが見つかりません。を使用するとDNと証明書のメタデータを取得できますがjarsigner -verbose -verify -certs my.apk
、バイトが取得されません。