我有一个用于签署各种 jar 的公钥的 MD5 哈希库,以及到它们各自的密钥库的映射,我们使用这些密钥库来签署不同的 APK。我想做的是确定哪个密钥库用于签署 APK,但不使用反复试验。(此外,遗憾的是,我们的许多密钥共享相似或相同的 DN。)
我的解决方案,因为我知道 META-INF/FOO.RSA(或 FOO.DSA)包含证书,是从 APK 的 RSA 文件中提取证书并直接计算 MD5 哈希。(我知道证书在那里,因为它可以被正在运行的 android 应用程序访问,并且 jarsigner 文档告诉我它在那里。)
但我找不到任何工具可以为我提供证书的实际字节。当我使用 时,我可以获得 DN 和证书元数据jarsigner -verbose -verify -certs my.apk
,但这并没有给我字节。