如何查看 APK 的签名信息
本文介绍了三种查看和生成APK签名的方法:通过keytool命令直接查看keystore文件中的证书指纹;从已签名的APK中提取CERT.RSA文件并查看其详细签名信息;以及使用jarsigner工具为未签名的APK包进行签名操作。这些步骤为Android应用的安全检查和打包发布提供了基础支持。
博主博客
1. 查看 keystore 文件中的签名信息
使用以下命令查看 keystore(例如 debug.keystore)中的证书信息:
keytool -list -keystore debug.keystore
输出示例:
Keystore type: JKS
Keystore provider: SUN
Your keystore contains 1 entry
androiddebugkey, Mar 21, 2013, PrivateKeyEntry,
Certificate fingerprint (MD5): E0:F4:90:EE:CD:77:17:0E:B8:C4:AC:64:B2:F6:FC:83
2. 查看已签名的 APK 文件(三方或系统应用)签名
- 使用压缩工具(如 WinRAR)打开待查看的 APK 文件;
- 将其中的
META-INF文件夹解压出来,获取CERT.RSA文件; - 执行以下命令查看签名信息:
keytool -printcert -file META-INF/CERT.RSA
输出示例:
Owner: CN=Android Debug, O=android, C=US
Issuer: CN=Android Debug, O=Android, C=US
Serial number: 514ab2e1
Valid from: Thu Mar 21 15:12:33 CST 2013 until: Sat Mar 14 15:12:33 CST 2043
Certificate fingerprints:
MD5: E0:F4:90:EE:CD:77:17:0E:B8:C4:AC:64:B2:F6:FC:83
SHA1: 7F:E5:11:D8:37:4F:DA:D7:75:EA:A5:8C:47:06:85:95:6D:1D:3F:2B
Signature algorithm name: SHA1withRSA
Version: 3
3. 为 APK 文件签名
使用 jarsigner 工具为 APK 签名,命令格式如下:
jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkin] [alias]
参数说明:
-verbose:输出详细信息-keystore:密钥库位置-signedjar:指定签名后生成的 APK 文件名[apkin]:待签名的 APK 文件[alias]:密钥库中对应的别名
示例命令:
jarsigner -verbose -keystore debug.keystore -signedjar test2.apk tap_unsign1.apk timdong
执行过程输出示例:
Enter Passphrase for keystore:
adding: META-INF/MANIFEST.MF
adding: META-INF/ANDROIDD.SF
adding: META-INF/ANDROIDD.RSA
signing: res/drawable/ic_launcher.png
signing: res/layout/main.xml
signing: AndroidManifest.xml
signing: resources.arsc
signing: classes.dex
注意: 执行签名命令时会提示输入密钥库的密码。
评论