查看APK的签名的方法,和应用商店更改签名导致第三方无法登录问题
2017-12-08 19:39
495 查看
偶然应用上传Google Play商店导致微信第三方登录无法登录,初步判断是签名问题,所以直接解开两个apk对比差异,顺便学习下如何查看apk签名
上图可以知道签名文件果断的被Google Play给改了。
所以在提交apk的时候方法我们应该选择另一种,详细就不一一介绍
所以我们应该选择第一种使用我们自己的签名
那签名是怎样来操作,介绍下
1、查看 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、查看三方应用或是系统应用签名
用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、给空白包签名
jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkIn] [alias]
jarsigner命令格式:-verbose输出详细信息 -keystore密钥库位置 -signedjar要生成的文件 要签名的文件 密钥库文件
keystorePath参数代表keyStore的绝对路径,如D:\keystore
apkOut参数代表签名后的apk路径,如D:\signed.apk
apkin参数代表在腾讯应用中心下载的未签名apk,默认名称为tap_unsign.apk
alias参数代表签名用的alias名称(创建keyStore时所填写),如timdong
$ 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
上图可以知道签名文件果断的被Google Play给改了。
所以在提交apk的时候方法我们应该选择另一种,详细就不一一介绍
所以我们应该选择第一种使用我们自己的签名
那签名是怎样来操作,介绍下
1、查看 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、查看三方应用或是系统应用签名
用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、给空白包签名
jarsigner -verbose -keystore [keystorePath] -signedjar [apkOut] [apkIn] [alias]
jarsigner命令格式:-verbose输出详细信息 -keystore密钥库位置 -signedjar要生成的文件 要签名的文件 密钥库文件
keystorePath参数代表keyStore的绝对路径,如D:\keystore
apkOut参数代表签名后的apk路径,如D:\signed.apk
apkin参数代表在腾讯应用中心下载的未签名apk,默认名称为tap_unsign.apk
alias参数代表签名用的alias名称(创建keyStore时所填写),如timdong
$ 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
相关文章推荐
- 第三方apk内置因签名导致SystemUI未启动启动问题案例分析
- 更改计算机名后导致Oracle dbconsole无法启动问题解决方法
- 更改GetToolParts()方法中toolpart索引顺序导致的无法赋值的问题
- 密码被更改导致无法登录的解决方法
- 查看第三方APK的签名的方法(.keystore .RSA .APK)
- Win7下IE 8内存保护可能导致ActiveX无法安装的问题及其解决方法
- 关于CSS中内层使用float导致外层的背景无法显示的问题的解决方法
- 微软CRM打上rollup3补丁后导致工作流无法发布问题解决方法
- 解决vss6.0无法更改登录用户名问题
- SQL server 2005 开始安装后sa无法登录问题的解决方法
- "... 无法下载Silverlight应用程序。请查看Web服务器设置." 问题的解决方法
- Ubuntu设置环境变量错误导致系统无法登录解决方法
- 解决/var空间不足导致的无法登录问题
- 缺少公钥问题的解决方法(gpg: 无法检查签名:找不到公钥)
- “无法为更新定位行,一些值可能已在最后一次读取后已更改”问题的解决方法
- Ubuntu 10_04 安装在 VMware Workstation 后,登录界面键盘无法输入的问题的解决方法
- Ubuntu设置环境变量错误导致系统无法登录解决方法
- base.set_Item base.get_Item导致无法编译问题解决方法
- 花生壳问题,导致用友T1无法登陆,请查看以下解决办法
- 由于帐户限制,您无法登陆 -- 远程桌面无法登录问题解决方法