出于安全性原因,Android APK在正式发布的时候必须签名,详细参考 Android 应用签名
接口开发者也可以利用这一机制提升安全性,简单来说是这样:
有几种方式可以获取证书指纹(非技术人员推荐用第三方种方式):
注意,提交的开发者证书指纹前,先确认
- 需要md5、sha1还是sha256?
- 是否去除原始值中的冒号
- 是否区分大小写?
keytool必须使用oracle的java发行版
// java 版本不能高于8,执行前需要在环境变量中添加 keytool 路径,或使用绝对路径
// xxx.keystore 为apk签名文件路径
$ keytool -v -list -keystore xxx.keystore
输入密钥库口令: ******
证书指纹:
MD5: 76:B4:CC:46:64:55:C7:4D:BD:BB:AA:94:74:BF:A4:DD
SHA1: C0:CB:7F:19:FB:93:C5:F1:87:E6:67:94:4E:8C:14:AF:36:51:69:3A
SHA256: CC:EF:6F:14:D1:AC:09:5E:56:60:EB:7F:FB:37:80:AE:21:F3:C1:A3:A2:99:86:DB:B8:B4:29:66:93:4C:EE:C9
签名算法名称: SHA256withRSA
版本: 3
// 若只有签名过的apk文件,则可以使用命令,xxx.apk是apk路径
$ keytool -printcert -jarfile xxx.apk
apksigner
与 keytool
命令类似,是比较新的命令
// ${ANDROID_HOME}/build-tools/33.0.1/apksigner.bat
$ apksigner verify -v --print-certs xxx.apk
安装到设备中的 APK,可以用一个工具应用来获取它的证书签名
下载4399
APK签名监测工具,按照使用说明